2017-10-16 11 views
-1

Lors de l'exécution du fichier de classe en tant que TestNG uniquement Avant l'exécution de la méthode de test. Dans les résultats, les cas de test ignorés, échoués ou réussis comptent = 0. Il n'y a pas d'erreur ou d'exception pendant l'exécution du script. Mais quand je change retourner à la classe void est exécuté avec succès. Quelqu'un pourrait-il suggérer la raison pour cela?Le test n'est pas exécuté si le type de retour n'est pas vide dans une classe TestNG

+0

correspondant s'il vous plaît envoyer votre code. –

+0

Les questions sur l'aide au débogage ("** pourquoi ce code ne fonctionne-t-il pas? **") doivent inclure le comportement souhaité, un * problème ou une erreur spécifique et le code le plus court * nécessaire pour le reproduire ** dans la question même ** . Les questions sans ** énoncé de problème clair ** ne sont pas utiles aux autres lecteurs. Voir: [mcve]. – JeffC

Répondre

0

Vous pouvez utiliser les valeurs allow-return-values ​​dans le fichier de testng suite pour que testng les considère comme des tests. Normalement pour les tests, les valeurs de retour n'ont aucune signification, elles sont supposées être des unités indépendantes - même si vous ajoutez les types de retour, Testng les ignorera simplement si allow-return-values ​​est vrai.

Voici un exemple qui montre cela en action.

import org.testng.Reporter; 
import org.testng.annotations.BeforeMethod; 
import org.testng.annotations.Test; 

public class TestClassSample { 
    @BeforeMethod 
    public void beforeMethod() { 
     Reporter.log("beforeMethod() executed", true); 
    } 

    @Test 
    public String testMethod() { 
     Reporter.log("testMethod() executed", true); 
     return null; 
    } 
} 

est ici la suite xml

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name="46765400_Suite" verbose="2" allow-return-values="true"> 
    <test name="46765400_test"> 
     <classes> 
      <class name="com.rationaleemotions.stackoverflow.qn46765400.TestClassSample"/> 
     </classes> 
    </test> 
</suite> 

est ici la sortie d'exécution

... 
... TestNG 6.12 by Cédric Beust ([email protected]) 
... 
beforeMethod() executed 
testMethod() executed 
PASSED: testMethod 

=============================================== 
    46765400_test 
    Tests run: 1, Failures: 0, Skips: 0 
=============================================== 

=============================================== 
46765400_Suite 
Total tests run: 1, Failures: 0, Skips: 0 
=============================================== 
+0

Merci les gars de l'aide. –