Spring整合JUnit4測試

2021-08-08 06:12:28 字數 3027 閱讀 5098

spring整合junit4測試,

pom:

junitgroupid>

junitartifactid>

3.8.1version>

testscope>

dependency>

org.springframeworkgroupid>

spring-testartifactid>

4.3.8.releaseversion>

dependency>

org.springframeworkgroupid>

spring-webmvcartifactid>

4.3.8.releaseversion>

dependency>

com.fasterxml.jackson.coregroupid>

jackson-databindartifactid>

2.8.0version>

dependency>

org.hamcrestgroupid>

hamcrest-coreartifactid>

1.3version>

dependency>

org.hamcrestgroupid>

hamcrest-parentartifactid>

1.3version>

pomtype>

dependency>

org.springframeworkgroupid>

spring-context-supportartifactid>

4.3.2.releaseversion>

dependency>

org.springframeworkgroupid>

spring-txartifactid>

4.3.8.releaseversion>

dependency>

**如下:

import org.junit.test;

import org.junit.runner.runwith;

import org.springframework.beans.factory.annotation.autowired;

import org.springframework.beans.factory.annotation.qualifier;

import org.springframework.test.context.contextconfiguration;

import org.springframework.test.context.junit4.springjunit4classrunner;

import service.say;

/** *@author 01369526

* */

@runwith(springjunit4classrunner.class)

@contextconfiguration(locations="classpath*:spring/spring-context.xml")

public

class

firsttest

}

如果多個檔案:

@contextconfiguration(locations = )
public

inte***ce say

@service

public

class

saygoodbye

implements

say}

xml:

<?xml version="1.0" encoding="utf-8"?>

xmlns=""

xmlns:xsi=""

xmlns:context=""

xmlns:mvc=""

xsi:schemalocation="

/spring-beans.xsd

/spring-context.xsd

/spring-mvc.xsd">

base-package="controller" />

base-package="service" />

base-package="service.impl" />

beans>

對這個類解釋一下:

@runwith 注釋標籤是 junit 提供的,用來說明此測試類的執行者,這裡用了 springjunit4classrunner,這個類是乙個針對 junit 執行環境的自定義擴充套件,用來標準化在 spring 環境中 junit4.5 的測試用例,例如支援的注釋標籤的標準化

@contextconfiguration 注釋標籤是 spring test context 提供的,用來指定 spring 配置資訊的**,支援指定 xml 檔案位置或者 spring 配置類名,這裡我們指定 classpath 下的 classpath*:spring/spring-context.xml為配置檔案的位置

@autowired 體現了我們的測試類也是在 spring 的容器中管理的,他可以獲取容器的 bean 的注入,您不用自己手工獲取要測試的 bean 例項了

@transactiona

@transactionconfiguration(transactionmanager = "transactionmanager", defaultrollback = true)

@transactional 這個非常關鍵,如果不加入這個註解配置,事務控制就會完全失效!

這裡的事務關聯到配置檔案中的事務控制器(transactionmanager = 「transactionmanager」),同時//指定自動回滾(defaultrollback = true)。這樣做操作的資料才不會汙染資料庫! 如果有@transactional 注釋標籤是表明此測試類的事務啟用,這樣所有的測試方案都會自動的 rollback,即您不用自己清除自己所做的任何對資料庫的變更了。

Spring整合Junit4單元測試

spring整合junit單元測試有兩種方式,一種是引入spring test等相關包,另一種是直接使用junit。本文只介紹第二種方式,此方式的優點是不需要引入額外的spring test包,缺點是需要手動呼叫方法來獲得例項。import org.junit.after import org.ju...

Junit4整合spring 測試

廢話不多說,教程直接開始。1.加入依賴包 使用spring的測試框架需要加入以下依賴包 spring test spring框架中的test包 spring 相關其他依賴包 不再贅述了,就是context等包 2.建立測試源目錄和包 在此,推薦建立乙個和src平級的源檔案目錄,因為src內的類都是為...

Spring Test 整合 JUnit 4 使用

使用spring的測試框架需要加入以下依賴包 spring test spring框架中的test包 spring 相關其他依賴包 不再贅述了,就是context等包 在此,推薦建立乙個和src平級的源檔案目錄,因為src內的類都是為日後產品準備的,而此處的類僅僅用於測試。而包的名稱可以和src中的...