Na przykład mam Handler:Jak mogę pozorować metody klasy @InjectMocks?
@Component
public class MyHandler {
@AutoWired
private MyDependency myDependency;
public int someMethod() {
...
return anotherMethod();
}
public int anotherMethod() {...}
}
do testowania go chcę napisać coś takiego:
@RunWith(MockitoJUnitRunner.class}
class MyHandlerTest {
@InjectMocks
private MyHandler myHandler;
@Mock
private MyDependency myDependency;
@Test
public void testSomeMethod() {
when(myHandler.anotherMethod()).thenReturn(1);
assertEquals(myHandler.someMethod() == 1);
}
}
Ale faktycznie nazywa anotherMethod()
gdy próbuję go wyśmiewać. Co należy zrobić z myHandler
, aby kpić z jego metod?
Jeśli chcesz przetestować MyHandler, to powinnam nie kpisz z własnych metod (ponieważ chcesz przetestować swojego handlarza, a nie próbę). Czy istnieje konkretny powód, dla którego musisz to zrobić? – Nitek