@RunWith
当一个类用@RunWith注释或继承一个用@RunWith注释的类时,JUnit将调用它所引用的类来运行该类中的测试而不是开发者去在junit内部去构建它。我们在开发过程中使用这个特性。
@RunWith(JUnit4.class)就是指用JUnit4来运行
@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境
@RunWith(Suite.class)的话就是一套测试集合,
@ContextConfiguration Spring整合JUnit4测试时,使用注解引入多个配置文件
单个文件
@ContextConfiguration(Locations="classpath:applicationContext.xml")
@ContextConfiguration(classes = SimpleConfiguration.class)
多个文件时,可用{}
@ContextConfiguration(locations = { "classpath:spring1.xml", "classpath:spring2.xml" })
@SpringBootTest
配置文件属性的读取
可以在运行SpringBoot为基础的测试类上指定的注释。在常规Spring TestContext框架之上和之上提供以下特性:
当定义没有特定的@ContextConfiguration(loader=…)时,使用SpringBootContextLoader作为默认的ContextLoader。
当不使用嵌套@Configuration时,自动搜索@SpringBootConfiguration,并且没有指定显式的类。
允许使用properties属性定义自定义环境属性。
为不同的webEnvironment模式提供支持,包括启动一个完全运行的web服务器,监听一个已定义的或随机的端口。
注册一个TestRestTemplate和/或WebTestClient bean,用于在web测试中使用完全运行的web服务器。