美文网首页
112、【JavaEE】【Spring】Spring 整合 JU

112、【JavaEE】【Spring】Spring 整合 JU

作者: yscyber | 来源:发表于2021-10-25 15:09 被阅读0次

1、概述

  • 在传统的 JUnit 使用中,在测试 Spring 的时候,需要重复编写像ApplicationContext applicationContext = new ClassPathXmlApplicationContext("······")等代码。为了能够简化测试代码编写,Spring 提供了整合 JUnit 的包。

2、整合 JUnit

  • 注意版本,Spring 5 以上的版本要求 JUnit 版本是 4.12 以上。

  • 引入依赖:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.8</version>
</dependency>

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>5.3.8</version>
    <scope>test</scope>
</dependency>
  • 创建测试类:
import org.junit.runner.RunWith;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class) // 使用 @RunWith 注解
public class SpringJUnitTest {

}
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"}) // @ContextConfiguration 引入核心配置文件
public class SpringJUnitTest {
    
}
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {SpringConfig.class}) // @ContextConfiguration 引入核心配置类
public class SpringJUnitTest {
    
}
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class SpringJUnitTest {

    @Autowired // 此时,可以使用 @Autowired 等注解注入由 Spring 容器管理的对象(@ContextConfiguration 配置容器)
    private A a;

}
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class SpringJUnitTest {

    @Autowired
    private A a;

    @Test // 测试代码
    public void test1() {
        a.xxx();
    }

}

相关文章

网友评论

      本文标题:112、【JavaEE】【Spring】Spring 整合 JU

      本文链接:https://www.haomeiwen.com/subject/afcraltx.html