美文网首页
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