6.在Spring中使用Junit Test

2019-03-04  本文已影响0人  sherlockwit_孙鸣

一、首先需要在pom.xml中加入junit依赖(在这里,需要注意一下,spring版本与Junit版本的兼容问题)。

在基于spring的项目中添加如下依赖:
  <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.1.4.RELEASE  </version>
              <scope>test</scope>
  </dependency>

二、下图是我在IDEA中的项目包的架构,我们需要在此进行单元测试编写

项目包

代码如下:

Max.java
    package com.spring.IoC;

    public class Max {
        private int a;
        private int b;

        public Max(int a, int b) {
            this.a = a;
            this.b = b;
        }

        public int getMax() {
            return a > b ? a : b;
        }
    }
MaxApp.java
    package com.spring.IoC;

    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;

    public class MaxApp {
        public static void main(String[] args) {
            ApplicationContext context = new ClassPathXmlApplicationContext("/applicationContext.xml");
            Max max = (Max) context.getBean(Max.class);
            System.out.println(max.getMax());
        }
    }
MaxTest.java
    package com.spring.IoC;

    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.test.context.ContextConfiguration;
    import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
    
    import static org.junit.Assert.*;

    //指定单元测试环境
    @RunWith(SpringJUnit4ClassRunner.class)
    //指定配置文件路径
    @ContextConfiguration(locations = {"/CarBossMeeting.xml"})/*指定配置文件位置*/
    public class MaxTest {

        //自动注入max
        @Autowired
        private Max max;

        @Test
        public void getMax() {
            assertEquals(5, max.getMax());
        }
    }

解释下用到的注解:

  • @RunWith:用于指定junit运行环境,是junit提供给其他框架测试环境接口扩展,为了便于使用spring的依赖注入,spring提供了org.springframework.test.context.junit4.SpringJUnit4ClassRunner作为Junit测试环境。
  • @ContextConfiguration(locations = {"/CarBossMeeting.xml"})导入配置文件。
上一篇下一篇

猜你喜欢

热点阅读