集成JUnit测试

既然使用了Spring,那么怎么集成到JUnit中进行测试呢,首先大家能够想到的肯定是:

public class TestMain {

    @Test
public void test(){
ApplicationContext context = new AnnotationConfigApplicationContext(TestConfiguration.class);
TestService service = context.getBean(TestService.class);
service.test();
}
}

直接编写一个测试用例即可,但是这样的话,如果我们有很多个测试用例,那么我们不可能每次测试都去创建ApplicationContext吧?我们可以使用@Before添加一个测试前动作来提前配置ApplicationContext,但是这样的话,还是不够简便,能不能有更快速高效的方法呢?

Spring为我们提供了一个Test模块,它会自动集成Junit进行测试,我们可以导入一下依赖:

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.3.12</version>
</dependency>

这里导入的是JUnit5和SpringTest模块依赖,然后直接在我们的测试类上添加两个注解就可以搞定:

@ExtendWith(SpringExtension.class)
@ContextConfiguration(classes = TestConfiguration.class)
public class TestMain { @Autowired
TestService service; @Test
public void test(){
service.test();
}
}

@ExtendWith是由JUnit提供的注解,等同于旧版本的@RunWith注解,然后使用SpringTest模块提供的@ContextConfiguration注解来表示要加载哪一个配置文件,可以是XML文件也可以是类,我们这里就直接使用类进行加载。

配置完成后,我们可以直接使用@Autowired来进行依赖注入,并且直接在测试方法中使用注入的Bean,现在就非常方便了。

最新文章

  1. iOS企业级开发初级课程-表视图(13集)
  2. Robotium编写测试用例如何模拟Junit4的BeforeClass和AfterClass方法2 - SingleLaunchActivityTestCase
  3. python+php+redis+shell实现几台redis的同步数据
  4. hdu 2018 母牛的故事
  5. JAVA:IO流——File类
  6. 5 DML语言
  7. C#学习日志 day 2 ------ 控制台颜色以及windowsphone 窗体应用试建
  8. HTML系列(一):创建HTML文档
  9. JavaScript和JQuery获取DIV的值
  10. PAT-B 1015. 德才论(同PAT 1062. Talent and Virtue)
  11. 手机自动化测试:appium源码分析之bootstrap十
  12. oop作业二—circle
  13. CentOS 通过yum安装web环境
  14. Cacti在selinux开启的情况下使用
  15. mkdir与mkdirs的区别
  16. Tomcat的Https设置及Http自动跳转Https
  17. 史上最简单的SpringCloud教程 | 第九篇: 服务链路追踪(Spring Cloud Sleuth)
  18. Python排序算法之选择排序
  19. C++并发编程实战---阅读笔记
  20. Appium 使用小结

热门文章

  1. docker学习笔记(3)- 镜像
  2. java.sql.SQLException: Unable to load authentication plugin &#39;caching_sha2_password&#39;.
  3. js 加载 xml 及遍历属性及内容 整理
  4. logging 日志模块 configparser 配置文件
  5. Reverse Shell Cheat Sheet
  6. BUU findkey
  7. 在centos7上安装iptables防火墙
  8. Intellij IDEA实现SpringBoot项目多端口启动的两种方法
  9. python 常用内置函数简介
  10. MySQL 面试题MySQL 中有哪几种锁?