Ví dụ tôi có xử lý:Tôi có thể thử phương pháp của lớp @InjectMocks như thế nào?
@Component
public class MyHandler {
@AutoWired
private MyDependency myDependency;
public int someMethod() {
...
return anotherMethod();
}
public int anotherMethod() {...}
}
để thử nghiệm nó tôi muốn viết một cái gì đó như thế này:
@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);
}
}
Nhưng nó thực sự gọi anotherMethod()
bất cứ khi nào tôi cố gắng để thử nó. Tôi nên làm gì với myHandler
để thử phương pháp của nó?
Nếu bạn muốn kiểm tra myhandler, bạn shouldn 'm giả lập phương pháp riêng của nó (kể từ khi bạn muốn kiểm tra xử lý của bạn, không phải là giả). Có lý do cụ thể nào khiến bạn cần phải làm như vậy không? – Nitek