spring项目进行junit单元测试
pom文件的引入工程
spring项目 + 配置文件引入bean的,参考如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
</dependency>
springBoot项目参考如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
测试类的编写
spring项目 + 配置文件引入bean的,参考如下:
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 java.util.List;
// 指定SpringJUnit4ClassRunner的执行类
@RunWith(SpringJUnit4ClassRunner.class)
// 如果是springboot项目,参照网上其他教程;如果是spring项目且通过配置文件引入bean对象的,需要指定文件配置
@ContextConfiguration(locations={"classpath:spring-config.xml"})
public class TestSpringJava {
@Autowired
private TestService1 testservice1;
@Autowired
private TestService2 testservice2;
@Test
public void TestService1 () {
String method1 = testservice1.testMethod1();
System.out.println("method1:" + method1);
}
@Test
public void TestService2 () {
String method2 = testservice1.testMethod2();
System.out.println("method2:" + method2);
}
}
springBoot项目参考如下:
package com.alibaba;
import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.context.web.WebAppConfiguration;
@RunWith(SpringRunner.class)
@SpringBootTest
//由于是Web项目,Junit需要模拟ServletContext,因此我们需要给我们的测试类加上@WebAppConfiguration。
@WebAppConfiguration
public class TestSpringBootJava {
@Test
public void Test1() {
String method1 = testservice1.testMethod1();
System.out.println("method1:" + method1);
}
@Test
public void Test2() {
String method2 = testservice1.testMethod2();
System.out.println("method2:" + method2);
}
}
参考文献
原文链接:https://blog.youkuaiyun.com/weixin_39800144/article/details/79241620