号外:为读者持续整理了几份最新教程,覆盖了 Spring Boot、Spring Cloud、微服务架构等PDF。
获取方式:关注右侧公众号"泥瓦匠BYSocket",来领取吧!

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘要,谢谢!

Writer      :BYSocket(泥沙砖瓦浆木匠)

微         博:BYSocket

豆         瓣:BYSocket

FaceBook:BYSocket

Twitter    :BYSocket

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

SpringMVC + Mybatis

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

一、所需Jar

JUnit 4

Spring Test

Spring 相关其他依赖包

二、写测试案例

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

Writer      :BYSocket(泥沙砖瓦浆木匠)

微         博:BYSocket

豆         瓣:BYSocket

FaceBook:BYSocket

Twitter    :BYSocket


(关注微信公众号,领取 Java 精选干货学习资料)
(添加我微信:bysocket01。加入纯技术交流群,成长技术)

发表评论

电子邮件地址不会被公开。 必填项已用*标注