classe en cours de test:Mockito se moquant de la valeur d'une méthode
class FruitQuality {
void testQuality() {
getfruits();
//some code
}
List<Fruits> getfruits() {
return orange;
}
}
Ci-dessous le code de test. Je me suis moqué de la classe en cours de test et a remplacé une valeur de retour pour la méthode getfruits. Mais quand je cours le simulacre, je n'obtiens pas la valeur de retour moquée attendue. Easymock peut substituer des valeurs de retour pour les méthodes de classe à tester, si celles-ci sont explicitement mockées. Comment puis-je obtenir la valeur de retour mockée lorsque je me moque de la méthode de l'objet réel.
@Test
public void test() {
Fruits fruit= new Fruits();
fruit.setFruit("orange");
List<Fruits> fruitsList = new ArrayList<Fruits>();
fruitsList.add(fruit);
Fruits mock = Mockito.mock(FruitQuality.class)
classUnderTest = new FruitQuality();
when(mock.getfruits()).thenReturn(fruitsList);
result= classUnderTest.getfruits();
assertEquals(result, fruitsList);
}
est notre assertEquals correct? Il appelle 'result' mais il n'y a pas de variable' result' – schneida
Pourquoi vous moquez-vous de la classe à tester? vous vous moquez généralement des dépendances de la classe en cours de test –
Veuillez vous assurer que votre code est du code Java quelque peu réel, votre méthode 'getfruits()' renvoie deux valeurs en utilisant deux instructions 'return'. Cela n'existe pas en Java ... – schneida