我有一个类
@EnableAsync
class A {
@Autowired
private SomeService someService;
@Async
public void someMethod() {
this.someSerivice.call();
}
}
class ATest {
@Before
public void before() {
MockitoAnnotations.init(this)
}
@Autowired
@InjectMocks
private A a;
@Mock
private SomeService someService;
@Test
public void someTest() {
}
}
在上面的示例中,莫科托(Mockito(应嘲笑someservice。但是,由于存在@Async
,它不会被嘲笑,我收到实际实例。
有人面对这个吗?有什么解决方案?
您可以在测试用例中手动设置模拟
中的模拟ReflectionTestUtils.setField(a, "someService", someService);