2010-11-02 7 views
2

Tous,Requête concernant assert dans JUnit

J'ai du mal à comprendre le concept de assertXXX() dans Junit. Actuellement, j'ai une méthode A(String fileName) qui génère un fichier xml pour une entrée filename "XXX.XX". Donc, mon scénario de test comprend le test si le code génère un fichier et pas seulement un fichier XML qui est faux, c'est-à-dire que la méthode A ne devrait générer que des fichiers xml.

Mon code est:

testCreateFile() 
{ 
    String fileName = "testFile.csv"; 
    A(fileName); 
    File fileObj = new File (fileName); 
    assertFalse(fileObj.exists()); // Since I check if the file should not be created 

} 

Si je fais cela, je reçois une AssertionError et la fenêtre jUnit montre 2 échecs. Dois-je gérer cette exception?

Répondre

1

si A crée un fichier, ne voulez-vous pas affirmer True? En d'autres termes, vous vous attendez à trouver le fichier après avoir exécuté A. Et puis vous affirmez que le contenu du fichier est le xml attendu ...

Si une exception est un échec, vous n'avez pas besoin de gérer l'éxéption.

+0

Eh bien, mon code actuel vérifie l'extension en utilisant fileName.indexOf (". Xml"). Mais, pour le code ci-dessus posté, A ne devrait pas avoir créé un fichier .csv et je suppose donc que assertFalse() fonctionnera correctement. –

+0

ah je vois. Quelle est exactement la question alors? Quelles erreurs obtenez-vous? – hvgotcodes

+0

Ma question était que assertFalse() me donnait cette AssertionError et si j'utilise assertTrue(), il n'y aurait pas d'erreurs. Fondamentalement, je trouvais difficile de comprendre comment utiliser les fonctions d'affirmation. Devrait-il être utilisé pour tester les informations valides transmises ou les informations non valides transmises. –