Spring Test:Spring Test 4 整合 JUnit 4 使用

简介:

因为近期在开发没有界面,只有接口的。项目架构如下

SpringMVC + Mybatis

一般来说只要测试Service层即可。

一、所需Jar

JUnit 4

Spring Test

Spring 相关其他依赖包

二、写测试案例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.xidian.wq.imaopay.controller.webservice;
 
import javax.annotation.Resource;
 
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations =
{
         "classpath:spring.xml",
         "classpath:spring-mvc.xml",
         "classpath:spring-mybatis.xml"
})
public class QueryControllerTest extends AbstractJUnit4SpringContextTests{
     
     @Resource
     private QueryController queryController;
     
     @Test
     public void testGetRepayCashFlow()
     {
         String openCode = "d370f9630b0cc559a139be8db774e1e9ed15118f49d2c9f82acf62a3e2809d47";
         String repayId = "1350";
         String xmlStr = queryController.getRepayCashFlow(openCode, repayId);
         System.out.println(xmlStr);
     }
}

代码详解如下:

1、测试类的包名注意方便自己管理

2、SpringJUnit4ClassRunner.class 表示运用JUnit4进行测试

3、ContextConfiguration 表示指定配置文件所在的位置

另外,类头部还可以加上。可以设置事务如下:

@TransactionConfiguration(transactionManagert=”txMgr”,defaultRollback=false) 
@Transactional

4、@Resource
注解被用来激活一个命名资源(named resource)的依赖注入。其中指有个name为“queryController”已经注入为bean。这里插一句核心的话:

“测试Controller时,并没有这个bean,怎么办呢? 可以直接在将Controller作为一个service层。即加入注解 @Service即可”

5、@Test标注在方法前,表示一个测试的方法

三、运行测试

笔者用fastJson,直接栈溢出了。后来debug得知是,fastjson问题。

如图,Junit Test即可

image


相关文章
|
5月前
|
Java 测试技术 数据库
Spring 单元测试(Junit)
Spring 单元测试(Junit)
|
2月前
|
运维 Java 测试技术
spring 单元测试 Junit
spring 单元测试 Junit
42 2
|
3月前
|
Java 测试技术 Spring
spring之单元测试:JUnit
【1月更文挑战第16天】 一、整合JUnit5 1、搭建子模块 2、引入依赖 3、添加配置文件 4、添加java类 5、测试 二、整合JUnit4 1、添加依赖 2、测试
72 4
|
4月前
|
Java 数据库连接 mybatis
Spring整合MyBatis、整合JUnit
Spring整合MyBatis、整合JUnit
31 0
|
4月前
Junit报错java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test]的解决
Junit报错java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=test]的解决
36 0
|
6月前
|
Java C++ Spring
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件
60 0
|
6月前
|
Java 测试技术 C++
Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理
Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理
51 0
Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理
|
6月前
导入了Junit依赖,但@Test注解依然爆红~
导入了Junit依赖,但@Test注解依然爆红~
|
6月前
|
Java 数据库 Spring
Spring Boot 学习研究笔记(四) -Junit 5 中注解特性
Spring Boot 学习研究笔记(四) -Junit 5 中注解特性
|
9月前
|
XML 设计模式 Java
Spring——整合junit4、junit5使用方法
Spring——整合junit4、junit5使用方法