@RunWith作用
这是spring的原生语法 SpringBoot语法参见 使用@SpringBootTest注解进行单元测试
@RunWith 就是一个运行器:
-
@RunWith(JUnit4.class) 就是指用JUnit4来运行
-
@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境
此时需要搭配@ContextConfiguration 使用,Spring整合JUnit4测试时,使用注解引入多个配置文件
-
@RunWith(Suite.class) 的话就是一套测试集合
@ContextConfiguration语法:
单个文件
- @ContextConfiguration(Locations=“classpath:applicationContext.xml”)
- @ContextConfiguration(classes = SimpleConfiguration.class)
多个文件时,可用{}
@ContextConfiguration(locations = { “classpath:spring1.xml”, “classpath:spring2.xml” })
@RunWith(SpringJunit4ClassRunner.class) 使用说明
@RunWIth(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"}
public class MyTest
{
@Test
public void hehe()
{
//.......
}
}
这种写法是为了让测试在Spring容器环境下执行。
Spring的容器环境是啥呢?
比如常见的 Service Dao Action , 这些个东西,都在Spring容器里,junit需要将他们拿到,并且使用来测试。
例如,我们注入了一个SomeService 的实例:
@RunWIth(SpringJunit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"}
public class MyTest
{
@Autowired
SomeService service; //注入了一个service
@Test
public void hehe()
{
//.......
}
}