Angenommen, ich die folgenden Klasse:Java Unit Tests mit Mockito. Funktionsaufruf innerhalb einer Funktion
public class Math {
public int mult(int a, int b) {
return 4;
}
public int mul (int a, int b) {
return mult(a,b);
}
}
und die folgenden Testklasse:
public class TestMockito {
Math testMath;
@Before
public void create() {
testMath = *mock*(Math.class);
when(testMath.mult(1,2).thenReturn(2);
}
@Test
public void test() {
System.out.println(testMath.mul(1,2));
}
}
Warum mul(1,2)
in test()
genannt nicht when(testMath.mult(1,2).thenReturn(2);
verwenden?
Gibt es eine andere Möglichkeit, eine Methode zu verspotten, die in einer anderen Methode verwendet wird, die getestet wird?
Prost
Hier 'Math' ist die zu testende Klasse. Sie sollten die Klasse, die im Test ist, nicht verspotten. – Jobin
@Jobin Seltsam. Ich lernte von: https://www.youtube.com/watch?v=79eXGJ2rKZs – Anant