mockitoを使用してメソッドをモックすると、モックされたメソッドが呼び出されないことが保証されますか? 単体テストを作成したいコードを含む Main クラスがあり、 Main クラスの単体テストを含む単体テスト クラス MainTest が 1 つあります。
例えば:
ソース クラス:
package abc;
public class Main {
public int check1() {
int num = 10;
num = modify(num);
return num;
}
public int modify(int num) {
if (num % 10 == 0) return num / 10;
return -1;
}
}
Junit テスト (mockito を使用)
package abc;
import junit.framework.Assert;
import org.junit.BeforeClass;
import org.junit.Test;
import org.mockito.Mockito;
public class MainTest {
private static Main main;
@BeforeClass
public static void setUp() {
main = Mockito.mock(Main.class);
Mockito.when(main.modify(10)).thenReturn(5);
}
@Test
public void testCheck1() {
Test1 main1 = new Main();
int num = main.check1();
Assert.assertEquals(5, num);
}
}
このテストは失敗しています。なんで?