Mockito不能为@Async方法注入模拟



我有一个类

@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); 

相关内容

  • 没有找到相关文章

最新更新