【发布时间】:2021-04-14 08:56:26
【问题描述】:
我不明白为什么我的执行测试在没有@RunWith(SpringRunner.class) 的情况下工作得很好。我在测试类上方只有@SpringBootTest。请解释下一个案例: 1)什么时候我必须同时设置@RunWith(SpringRunner.class)和@SpringBootTest? 2)当我只能设置 @RunWith(SpringRunner.class) 和 @SpringBootTest 使用是多余的? 3)当我只能设置 @SpringBootTest 和 @RunWith(SpringRunner.class) 使用是多余的?
我的代码执行良好的测试是:
@SpringBootTest
//@RunWith(SpringRunner.class)
class SpringBootSimpleTestExampleApplicationTests {
@Autowired
private ApplicationContext applicationContext;
@Test
void contextLoads() {
Object restTempalte = applicationContext.getBeanDefinitionCount();
Assertions.assertThat(applicationContext).isNotNull();
}
}
【问题讨论】:
-
你使用的是junit 4还是junit 5?
-
我使用 Junit 4 并且我的 pom 配置是下一个:spring-boot-starter-test 带有排除的复古引擎和明确定义的没有版本的 junit 依赖
-
您能否将您的
pom.xml和import部分添加到您的问题中?