Spring集成Junit-阿里云开发者社区

开发者社区> 兮动人> 正文

Spring集成Junit

简介: Spring集成Junit
+关注继续查看

1. 原始Junit测试Spring的问题

  • 在测试类中,每个测试方法都有以下两行代码:
ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
IAccountService as = ac.getBean("accountService",IAccountService.class);
  • 这两行代码的作用是获取容器,如果不写的话,直接会提示空指针异常。所以又不能轻易删掉。

2. 上述问题解决思路

  • 让SpringJunit负责创建Spring容器,但是需要将配置文件的名称告诉它
  • 将需要进行测试Bean直接在测试类中进行注入

3. Spring集成Junit步骤

  1. 导入spring集成Junit的坐标
  2. 使用@Runwith注解替换原来的运行期
  3. 使用@ContextConfiguration指定配置文件或配置类
  4. 使用@Autowired注入需要测试的对象
  5. 创建测试方法进行测试
  • 导入spring集成Junit的坐标
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>5.0.5.RELEASE</version>
</dependency>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.1</version>
</dependency>
  • 使用@Runwith注解替换原来的运行期
  • 使用@ContextConfiguration指定配置文件或配置类
  • 使用@Autowired注入需要测试的对象
  • 创建测试方法进行测试
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class SpringJunitTest {

    @Autowired
    private UserService userService;

    @Test
    public void test1(){
        userService.save();
    }

}

在这里插入图片描述

  • 注入 dataSource 测试

在这里插入图片描述
在这里插入图片描述

  • 使用全注解方式

在这里插入图片描述

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Docker入门实战 (二) - Docker环境的搭建方法(中)
Docker入门实战 (二) - Docker环境的搭建方法
3 0
Docker入门实战 (二) - Docker环境的搭建方法(下)
Docker入门实战 (二) - Docker环境的搭建方法
3 0
Spring之InitializingBean接口和DisposableBean接口介绍
本文来介绍下InitializingBean接口和DisposableBean接口的作用
3 0
Spring之Aware接口介绍
在Bean对象的生命周期的方法中有好几个接口是Aware接口的子接口,所以弄清楚Aware接口对于理解Spring框架还是很有帮助的。
3 0
Spring之Bean对象的初始化和销毁方法
在Bean对象的完整的生命周期前我们还需要给大家介绍下Bean对象自身初始化及销毁的相关方法。
3 0
Spring之BeanPostProcessor(后置处理器)介绍
为了弄清楚Spring框架,我们需要分别弄清楚相关核心接口的作用,本文来介绍下BeanPostProcessor接口
3 0
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?(1)
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?
4 0
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?(2)
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?
5 0
Docker入门实战 (二) - Docker环境的搭建方法(上)
Docker入门实战 (二) - Docker环境的搭建方法
3 0
教妹学Java(五):Java程序在编译和运行时发生了什么
教妹学Java(五):Java程序在编译和运行时发生了什么
3 0
+关注
兮动人
世间味趣亦如此,万物且去轮浮生。
120
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载