Junit单元测试,测试Service方法,注入Service的方式有以下两种:
Maven依赖:
<properties>
<!-- 源文件编码格式 -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- junit版本 -->
<junit.version>4.12</junit.version>
</properties>
<dependencies>
<!-- junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
1.IOC方法
通过ApplicationContext,ioc的方法来获取对应的bean:
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MyTest {
private ApplicationContext applicationContext;
@Before
public void setUp() throws Exception {
applicationContext = new ClassPathXmlApplicationContext(
"classpath:spring/spring-context.xml");
}
@Test
public void test1(){
UnitService unitService = (UnitService) applicationContext
.getBean("unitService");
UnitModel unitdto = new UnitModel();
unitdto.setUnitCode("15524");
UnitModel unitvo = unitService.loadOneUnit(unitdto);
if(unitvo != null) {
String unitName = unitvo.getUnitName();
System.out.println(unitName);
}
}
}
2.注解方式
主要通过SpringJUnit4ClassRunner这个类,同样也要通过ContextConfiguration获取对应的spring-context配置
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;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring/spring-context.xml"})
public class MyTest {
@Autowired
UnitService unitService;
@Test
public void test1(){
UnitModel unitdto = new UnitModel();
unitdto.setUnitCode("15524");
UnitModel unitvo = unitService.loadOneUnit(unitdto);
if(unitvo != null) {
String unitName = unitvo.getUnitName();
System.out.println(unitName);
}
}
}