2017-09-02 2 views
0

Je souhaite utiliser des tests paramétrés pour TestNG. J'ai créé un fichier xml avec des paramètres (par.xml). Les paramètres utilisent la méthode incluse dans registration.java.Tests paramétrés TestNg - comment éviter l'échec pour la classe java?

L'exécution n'est-elle possible que par: par.xml -> run as -> TestNG? Si je tente d'exécuter par classe j'obtiens l'erreur:

org.testng.TestNGException: Parameter 'userEmail' is required by @Test on method testRejestracja but has not been marked @Optional or defined in C:\Users\Sonia\AppData\Local\Temp\testng-eclipse--2102596193\testng-customsuite.xml

Est-il possible d'éviter l'échec de test? Je voudrais exécuter toute la classe Java pour excuter tous les tests en même temps.

Répondre

2

Lorsque vous annoter une méthode @Test avec l'annotation @Parameters, vous dites essentiellement TestNG que les paramètres de votre méthode @Test peuvent être trouvés dans la balise <parameters> dans le fichier xml suite TestNG. Mais lorsque vous essayez d'exécuter une classe directement (via votre IDE préféré ou via un outil de construction), il n'y a pas de fichier suite xml et donc TestNG ne sait pas quoi fournir en tant que valeurs pour les paramètres de votre méthode @Test.

Donc, vous devez en tenir à l'exécution de ces méthodes SEULEMENT via une annotation fichier xml suite TestNG (ou) utiliser @Optional pour dire TestNG que Incase il ne trouve pas de valeurs à injecter de l'étiquette <parameters>, il devrait il suffit d'injecter une valeur null.