006Spring技巧002测试

部分内容来自以下博客:

https://blog.csdn.net/Ellen5203/article/details/83268630

1 简介

使用RunWith注解可以指定运行类,相当于一个运行器,是Junit提供的。

2 使用

2.1 使用Junit4支持

2.1.1 说明

使用RunWith注解,在引入Junit4后可以使用其提供的一些测试注解。

2.1.2 使用

导包:

1 junit-4.12.jar

测试:

 1 @RunWith(JUnit4.class)
 2 public class DemoTest {
 3     @Before
 4     public void before() {
 5         System.out.println("before() ...");
 6     }
 7     @Test
 8     public void test() {
 9         System.out.println("test() ...");
10     }
11 }

2.2 使用Spring支持

2.2.1 说明

使用RunWith注解,引入SpringRunner后可以让类运行在Spring的上下文中,在测试时会自动创建IOC容器。

需要注意的是,引入SpringRunner后还需要使用ContextConfiguration注解指明配置文件或配置类,不然会抛出异常。

2.2.2 加载容器

指明配置文件:

1 @ContextConfiguration(locations = {"classpath:application.xml"}

指明配置类:

1 @ContextConfiguration(classes = DemoConfig.class)

2.2.3 使用

导包:

1 spring-test-5.3.3.jar

测试:

 1 @RunWith(SpringRunner.class)
 2 @ContextConfiguration(classes = DemoConfig.class)
 3 public class DemoTest {
 4     @Autowired
 5     private Calculator calculator;
 6     @Test
 7     public void test() {
 8         // AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DemoConfig.class);
 9         // Calculator calculator = context.getBean(Calculator.class);
10         calculator.add(1, 3);
11     }
12 }

2.3 使用Junit4和Spring支持

2.3.1 说明

使用RunWith注解,引入SpringJUnit4ClassRunner后可以让类运行在Spring的上下文中,并且同时可以使用Junit4测试工具类。

同样,引入SpringJUnit4ClassRunner后也需要使用ContextConfiguration注解指明配置文件或配置类,不然会抛出异常。

在IDEA中,如果不添加额外选项,默认使用JUnit4测试工具来进行测试,即SpringRunner的效果和SpringJUnit4ClassRunner是一样的。

2.3.2 使用

导包:

1 spring-test-5.3.3.jar

测试:

 1 @RunWith(SpringJUnit4ClassRunner.class)
 2 @ContextConfiguration(classes = DemoConfig.class)
 3 public class DemoTest {
 4     @Autowired
 5     private Calculator calculator;
 6     @Before
 7     public void before() {
 8         System.out.println("before() ...");
 9     }
10     @Test
11     public void test() {
12         // AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DemoConfig.class);
13         // Calculator calculator = context.getBean(Calculator.class);
14         calculator.add(1, 3);
15     }
16 }

 

posted @ 2022-01-25 00:26  执笔未来  阅读(31)  评论(0编辑  收藏  举报