spring-test+JUnit實現springMVC測試用例
阿新 • • 發佈:2019-01-24
利用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("新增成功!"); } }