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();
        }
    }

     

  • 相关阅读:
    VysorPro助手
    Play 2D games on Pixel running Android Nougat (N7.1.2) with Daydream View VR headset
    Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset
    Native SBS for Android
    ADB和Fastboot最新版的谷歌官方下载链接
    How do I install Daydream on my phone?
    Daydream Controller手柄数据的解析
    蓝牙BLE传输性能及延迟分析
    VR(虚拟现实)开发资源汇总
    Android(Java)控制GPIO的方法及耗时分析
  • 原文地址:https://www.cnblogs.com/DiaoStudy/p/13741860.html
Copyright © 2011-2022 走看看