2010-03-21 6 views
7

J'utilise Junit 4. Tout mon programme fonctionne correctement. J'essaye d'écrire un cas de test. Mais il y a une erreur ...Problème de test Java Junit

ici est échantillon très basique essai

public class di extends TestCase{ 
    private static Records testRec; 
    public void testAbc() { 
     Assert.assertTrue(
      "There should be some thing.", 
      di.testRec.getEmployee() > 0); 
    } 

} 

et quand je lance ce qu'il me donne erreur

fName can not be null 

si je peux utiliser super et faire comme ça

public TestA() { 
super("testAbc"); 
} 

cela fonctionne très bien. Ce ne fut pas auparavant avec JUnit 3.X que je fais mal ou ils ont changé :( Désolé si je ne suis pas clair

est-il un moyen de executre test sans super? Ou appeler des fonctions, etc.?

+0

qu'est-ce que TestAgnes? Il n'est pas mentionné dans le premier extrait de code. S'il vous plaît effacer votre question. – Bozho

Répondre

16

en JUnit 4 vous avez besoin prolongez pas TestCase, utilisez plutôt l'annotation @Test pour marquer vos méthodes d'essai:

public class MyTest { 
    private static Records testRec; 
    @Test 
    public void testAbc() { 
     Assert.assertTrue(
      "There should be some thing.", 
      MyTest.testRec.getEmployee() > 0); 
    } 
} 

Comme une note de côté, l'essai d'un membre static dans votre classe peut faire vos tests unitaires en fonction de chaque autre, ce qui n'est pas une bonne chose. J'ai une très bonne raison pour cela, je recommanderais de supprimer le qualificatif static.

+1

merci pour votre réponse. Lorsque j'ai essayé cela, il m'a donné l'erreur "Type incompatibilité: ne peut pas convertir de Test en Annotation" que devrais-je éviter cette erreur? Il me donne si j'ai utilisé @Test – user238384

+4

Sonne comme vous avez importé une autre classe de test qui n'est pas une annotation. Assurez-vous d'importer 'org.junit.Test', cela devrait résoudre le problème. –

+0

merci cela a fonctionné! ! ! – user238384

0

Ce n'est pas votre cas mais cette erreur peut également signifier que vous avez un fichier nommé Test.java dans votre projet. Renommer le problème corrigera l'erreur, mais après refactoring @Test sera changé en @NewName (au moins dans Eclipse) alors n'oubliez pas de le changer manuellement à @Test.

Questions connexes