我想在一种方法上使用模拟eventService,而在另一种真实的eventService上使用。
@Mock(name = "eventService")
private EventService eventService;
@InjectMocks
private CandidateMenuController candidateMenuController = new CandidateMenuController();
如何在方法内部编写模拟此代码。
我有
CandidateMenuController candidateMenuController
作为课程字段。但是在一种方法中,我想使用特定的eventService实现。PS我没有构造函数并为
EventService
设置了get方法 最佳答案
由于您没有任何setter
方法来设置EventService
的值,因此可以使用反射来设置EventService
的值:
@Test
public void testWithRealization() {
Field field = candidateMenuController.getClass().getDeclaredField("eventService");
field.set(candidateMenuController, new EventServiceImpl());
// Test Code
}