部分内容来自以下博客:
https://blog.csdn.net/Ellen5203/article/details/83268630
1 简介
使用RunWith注解可以指定运行类,相当于一个运行器,是Junit提供的。
2 使用
2.1 使用Junit4支持
2.1.1 说明
使用RunWith注解,在引入Junit4后可以使用其提供的一些测试注解。
2.1.2 使用
导包:
junit-4.12.jar
测试:
@RunWith(JUnit4.class)
public class DemoTest {
@Before
public void before() {
System.out.println("before() ...");
}
@Test
public void test() {
System.out.println("test() ...");
}
}
2.2 使用Spring支持
2.2.1 说明
使用RunWith注解,引入SpringRunner后可以让类运行在Spring的上下文中,在测试时会自动创建IOC容器。
需要注意的是,引入SpringRunner后还需要使用ContextConfiguration注解指明配置文件或配置类,不然会抛出异常。
2.2.2 加载容器
指明配置文件:
@ContextConfiguration(locations = {"classpath:application.xml"}
指明配置类:
@ContextConfiguration(classes = DemoConfig.class)
2.2.3 使用
导包:
spring-test-5.3.3.jar
测试:
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = DemoConfig.class)
public class DemoTest {
@Autowired
private Calculator calculator;
@Test
public void test() {
// AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DemoConfig.class);
// Calculator calculator = context.getBean(Calculator.class);
calculator.add(1, 3);
}
}
2.3 使用Junit4和Spring支持
2.3.1 说明
使用RunWith注解,引入SpringJUnit4ClassRunner后可以让类运行在Spring的上下文中,并且同时可以使用Junit4测试工具类。
同样,引入SpringJUnit4ClassRunner后也需要使用ContextConfiguration注解指明配置文件或配置类,不然会抛出异常。
在IDEA中,如果不添加额外选项,默认使用JUnit4测试工具来进行测试,即SpringRunner的效果和SpringJUnit4ClassRunner是一样的。
2.3.2 使用
导包:
spring-test-5.3.3.jar
测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = DemoConfig.class)
public class DemoTest {
@Autowired
private Calculator calculator;
@Before
public void before() {
System.out.println("before() ...");
}
@Test
public void test() {
// AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DemoConfig.class);
// Calculator calculator = context.getBean(Calculator.class);
calculator.add(1, 3);
}
}