1. 程式人生 > >spring-test+JUnit實現springMVC測試用例

spring-test+JUnit實現springMVC測試用例

        利用spring-test與JUnit來測試程式碼能給我們帶來很多便利,所以簡單寫一篇spring-test與JUnit的測試例項

1、加入jar包:

<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>4.0.6.RELEASE</version>
		</dependency>

2、建立spring-test的基類,該類主要用來載入配置檔案,設定web環境的,然後所有的測試類繼承該類即可,基類BaseTest類程式碼如下:

package com.jjx.controller;

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

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring.xml","classpath:spring-mybatis.xml"})
@WebAppConfiguration("src/main/webapp")			
public class BaseTest {

}

@RunWith(SpringJUnit4ClassRunner.class) 使用junit4進行測試

@ContextConfiguration() 載入spring相關的配置檔案
@WebAppConfiguration() 設定web專案的環境,如果是Web專案,必須配置該屬性,否則無法獲取 web 容器相關的資訊(request、context 等資訊)

3、測試類,測試類只要繼承上面的基類BaseTest即可,程式碼如下:

public class Mytest extends BaseTest {

	@Resource       // 自動注入
	private EmpService empService;
	
	@Test
	public void test01() {
		System.out.println(empService.getById(5000).getEname());
	}
	
	@Test
	public void addCompletEmpInfo() {
		// 員工入職日期
		Date hiredate = new Date(new java.util.Date().getTime());
		// 新增加的部門資訊
		Dept dept = new Dept(55, "臨時部門", "地址不詳");
		// 新增加的員工資訊
		Emp emp = new Emp(7500, "路人甲", "臨時工", 5000, 
				hiredate, new BigDecimal(2000), new BigDecimal(100), dept);
		// 新增員工資訊及對應的部門資訊插入資料中
		empService.addCompleteEmp(emp);
		
		System.out.println("新增成功!");
		
	}
}
        從上面可以看到,這樣在測試類中就可以測試程式中想要測試的程式碼,簡單方便。