2011-01-14 4 views
0

J'ai un scénario trivial dans lequel une méthode dépend d'une autre méthode . Et l'autre méthode retourne une valeur - Ainsi la classe REVIENT -dependsOnMethods qui renvoie une valeur

public class Temp1 {

@Test 
    public Integer test1() { 
      Reporter.log("<b>in test1</b>"); 
      System.out.println("in test1"); 

      return null; 

    } 

    @Test(dependsOnMethods={"test1"}) 
    public void test2() { 
      Reporter.log("in test2"); 
      System.out.println("in test2"); 
    } 

}

Maintenant, quand j'exécute, je rencontre suivante exception -

org.testng.TestNGException: 
com.core.tests.Temp1.test2() is depending on nonexistent method 
com.core.tests.Temp1.test1 
     at 
org.testng.internal.MethodHelper.findMethodsNamed(MethodHelper.java: 
143) 
     at org.testng.internal.MethodHelper.topologicalSort(MethodHelper.java: 
472) 
     at org.testng.internal.MethodHelper.sortMethods(MethodHelper.java: 
544) 
     at 
org.testng.internal.MethodHelper.internalCollectAndOrderMethods(MethodHelper.java: 
77) 
     at 
org.testng.internal.MethodHelper.collectAndOrderMethods(MethodHelper.java: 
49)......................... 

Cependant, s'il n'y a pas de type de retour avec la méthode test1(), cela fonctionne bien. Y a-t-il un moyen de passer à travers cela?

Merci ~ T

Répondre

2

Bien qu'il ne semble pas être mentionné dans la documentation, j'ai aussi connu que les classes annotées avec @Test doivent avoir un type void de retour. Si vous avez besoin de données fournies par une autre méthode, vous pouvez essayer le Data Provider mechanism de TestNG.

+0

C'est la bonne réponse. J'ai également expliqué cela sur la liste des utilisateurs testng plus tôt aujourd'hui. –

+0

Cedric a confirmé la même chose ici - http://groups.google.com/group/testng-users/browse_thread/thread/035e8b0724eae23b – Tarun

Questions connexes