Mad*_*uja 5 java junit unit-testing mockito
我有课
@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() {
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,someService 应该被 Mockito 模拟。然而,由于 的存在@Async,它不会被嘲笑,我收到了实际的实例。
有人遇到过这个吗?有什么解决办法吗?
您可以在测试用例中手动设置模拟,如下所示
ReflectionTestUtils.setField(a, "someService", someService);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
707 次 |
| 最近记录: |