【发布时间】:2019-08-23 10:01:43
【问题描述】:
而不是这样:
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = {Application.class}, webEnvironment =
SpringBootTest.WebEnvironment.DEFINED_PORT)
public abstract class AbstractIT {
@MockBean
private FooAdapter fooAdapter;
@MockBean
private BarAdapter barAdapter;
public void mockFoo() {
FooResponse dto = new FooResponse();
when(fooAdapter.fooRequest()).thenReturn(dto);
}
我想要那个:
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = {Application.class}, webEnvironment =
SpringBootTest.WebEnvironment.DEFINED_PORT)
public abstract class AbstractIT {
@MockBean/Autowired?
MockProvider mockProvider;
class MockProvider {
@MockBean
private FooAdapter fooAdapter;
@MockBean
private BarAdapter barAdapter;
public void mockFoo() {
FooResponse dto = new FooResponse();
when(fooAdapter.fooRequest()).thenReturn(dto);
}
但是,我不知道是否可以将 Mockito 与 SpringRunner 一起使用。由于我们有很多适配器(比如 10 个),我不想过多地污染 AbstractIT,因此我想将这些依赖项的初始化和具体模拟委托给另一个负责处理的类。
【问题讨论】:
标签: java spring mockito junit5 spring-boot-test