【发布时间】:2021-07-07 06:37:59
【问题描述】:
我有一个 @SpringBootTest 类,它有一个相当复杂的模拟定义设置和模拟返回值。
问题:我可以将@MockBean 设置外部化到一个自己的类中,这样我就可以在多个类中重用模拟配置(旁注:我不是在这里寻找继承!)。
@SpringBootTest
public class ServiceTest extends DefaultTest {
@Autowired
private ServiceController controller;
@MockBean
private Service1 s1;
@MockBean
private Service2 s2;
@MockBean
private Service3 s3;
//assume more complex mock definitions
@BeforeEach
public void mock() {
when(s1.invoke()).thenReturn(result1);
when(s2.invoke()).thenReturn(result2);
when(s3.invoke()).thenReturn(result3);
}
@Test
public void test() {
//...
}
}
我想独立加载模拟,而不是全局加载我的所有测试。
【问题讨论】:
标签: java spring junit spring-boot-test