zoukankan      html  css  js  c++  java
  • spring整合Junit

    Spring整合Junit

    3.1原始Junit测试Spring的问题

    在测试类中,每个测试方法都有以下两行代码:

        ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
        IAccountService  as = ac.getBean("accountService",IAccountService.class);

    这两行代码的作用是获取容器,如果不写的话,直接回提示空指针异常,所以又不能轻易删除。

    3.2 上述问题解决思路

    • 让SpringJunit负责创建Spring容器,但是需要将配置文件的名称告诉它

    • 将需要进行测试Bean直接在测试类中进行注入

    3.3 Spring 集成Junit代码实现

    ① 导入spring集成Junit的坐标

    ② 使用@Runwith注解替换原来的运行期

    ③ 使用@ContextConfiguration指定配置文件或配置类

    ④ 使用@Autowired注入需要测试的对象

    ⑤ 创建测试方法进行测试

    3.4 Spring 集成Junit代码实现

    ①导入spring集成Junit的坐标

    <!--此处需要注意的是,spring5 及以上版本要求 junit 的版本必须是 4.12 及以上-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    ②使用@Runwith注解替换原来的运行期

    @RunWith(SpringJUnit4ClassRunner.class)
    public class SpringJunitTest {
    }

    ③使用@ContextConfiguration指定配置文件或配置类

    @RunWith(SpringJUnit4ClassRunner.class)
    //加载spring核心配置文件
    //@ContextConfiguration(value = {"classpath:applicationContext.xml"})
    //加载spring核心配置类
    @ContextConfiguration(classes = {SpringConfiguration.class})
    public class SpringJunitTest {
    }

    ④使用@Autowired注入需要测试的对象

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = {SpringConfiguration.class})
    public class SpringJunitTest {
        @Autowired
        private UserService userService;
    }

    ⑤创建测试方法进行测试

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = {SpringConfiguration.class})•public class SpringJunitTest {
        @Autowired
        private UserService userService;
        @Test
        public void testUserService(){
         userService.save();
        }
    }

     

  • 相关阅读:
    实验四
    实验三 进程调度模拟程序
    实验二 调度
    一个完整的大作业
    数据结构化与保存
    爬取新闻列表
    用requests库和BeautifulSoup4库爬取新闻列表
    中文词频统计及词云制作
    组合数据类型练习,英文词频统计实例
    字符串操作练习:星座、凯撒密码、99乘法表、词频统计预处理
  • 原文地址:https://www.cnblogs.com/DiaoStudy/p/13741860.html
Copyright © 2011-2022 走看看