2012-04-06 2 views
0

J'ai une méthode pour laquelle le type de retour est objet. Comment puis-je créer un test élémentaire pour cela? Comment est-ce que je mentionne que le résultat devrait être un objet?Comment écrire un scénario de test pour une méthode renvoyant un objet

.: par exemple

public Expression getFilter(String expo) 
{ 
    // do something 
    return object; 
} 
+1

Ce n'est pas clair. Votre méthode renvoie une expression. Tout en Java est un "Objet", y compris votre "Expression". Que voulez-vous tester exactement? – Guillaume

Répondre

1

try Quelque chose comme ça. Si le type de retour de votre fonction est Object puis remplacez Expression par Object:

//if you are using JUnit4 add in the @Test annotation, JUnit3 works without it. 
//@Test 
public void testGetFilter(){ 
    try{ 
     Expression myReturnedObject = getFilter("testString"); 
     assertNotNull(myReturnedObject);//check if the object is != null 
     //checks if the returned object is of class Expression 
     assertTrue(true, myReturnedObject instaceof Expression); 
    }catch(Exception e){ 
     // let the test fail, if your function throws an Exception. 
     fail("got Exception, i want an Expression"); 
    } 
} 
1

Dans votre exemple, le returntype est l'expression? Je ne comprends pas la question, pourriez-vous élaborer?

La fonction est même impossible de renvoyer autre chose que Expression (ou un type dérivé ou null). Donc "vérifier le type" serait inutile.

[TestMethod()] 
public void FooTest() 
{ 
    MyFoo target = new MyFoo(); 
    Expression actual = target.getFilter(); 

    Assert.IsNotNull(actual); //Checks for null 
    Assert.IsInstanceOfType(actual, typeof(Expression)); //Ensures type is Expression 
} 

Je suppose que C# ici; vous n'avez pas tagué votre question ni mentionné la langue dans votre question.

+0

salut j'ai besoin de junit testcase. J'ai mentionné l'Expression comme son objet. – Jessie

+1

Alors taggez votre question avec 'java' et 'junit' la prochaine fois et assurez-vous que l'exemple de code reproduit fidèlement ou démontre votre problème ;-) (l'a fait pour vous cette fois-ci). Je pense que la clé serait [instanceof] (http://www.java2s.com/Tutorial/Java/0060__Operators/TheinstanceofKeyword.htm) mais je ne suis pas un gourou Java :-) Vous pouvez également consulter http://stackoverflow.com/questions/496928/what-is-the-difference-between-instanceof-and-class-isassignablefrom – RobIII

Questions connexes