Does mocking a method using mockito ensures that mocked method will never be called? I have Main class which contains some code i want to write unit tests for and i have one unit test class MainTest which contains unit tests for Main class.
eg:
Source Class:
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 Test (using 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); } } This test is failing. Why?