Spring05 ——Spring集成Junit

spring整合junit 使得Spring的测试不再繁琐,不用每次都去使用api获取Spring应用上下文ApplicationContext

往期文章

Spring01 —— Spring概念及快速入门
Spring02 —— Spring配置文件详解和依赖注入
Spring03 —— SpringAPI和在Spring中配置数据源
Spring04 —— Spring的注解开发


文章目录

  • 往期文章
  • Spring整合Junit
    • 1、原始junit测试Spring的问题
    • 2、解决思路
    • 3、Spring集成Junit的步骤
    • 4、Spring集成Junit实现


Spring整合Junit

1、原始junit测试Spring的问题

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

ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml"); 

UserService userService = app.getBean("userService",UserService.class);

这两行代码的作用是获取Spring应用上下文,如果不写的话,直接会提示空指针异常。所以又不能轻易删掉。

2、解决思路

让SpringJunit负责创建Spring容器
1、需要将配置文件的名称告诉它

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

3、Spring集成Junit的步骤

①导入spring集成Junit的坐标

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

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

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

⑤创建测试方法进行测试

junit 的版本必须是 4.12 及以上

4、Spring集成Junit实现

【1】导入相关依赖


<dependency>
    <groupId>org.springframeworkgroupId>
    <artifactId>spring-testartifactId>
    <version>5.0.5.RELEASEversion>
dependency>

<dependency>
    <groupId>junitgroupId>
    <artifactId>junitartifactId>
    <version>4.12version>
    <scope>testscope>
dependency>

【2】新建一个测试类

使用@RunWith替换原来的运行期

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


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

【3】使用@Autowired注入需要测试的对象
Spring05 ——Spring集成Junit_第1张图片

【4】创建测试方法进型测试

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

    @Autowired
    private DataSource dataSource;

    @Test
    public void test1() throws SQLException {
        userService.save();
        System.out.println(dataSource.getConnection());
    }
}

Spring05 ——Spring集成Junit_第2张图片

小结:Spring集成Junit的步骤

​ 1、导入相关坐标 spring-test junit

​ 2、使用@RunWith替换原来的运行期

​ 3、使用ContextConfiguration指定spring核心配置文件或核心配置类

​ 4、使用@autowoired注入要测试的bean

​ 5、创建测试方法进型测试

你可能感兴趣的:(SSM,后端,java,spring,maven)