使用Junit对Spring进行单元测试实战小结
Demo代码:
- @RunWith(SpringJUnit4ClassRunner.class)
- @ContextConfiguration(locations = "classpath*:/META-INF/spring/all-beans.xml")
- public class SomeRemoteServiceTest {
- @Resource(name = "someRemoteService")
- RemoteService service;
- @Test
- public void testService() {
- Param param = new Param();
- param.setCityId(330100);
- System.out.println(JsonUtil.toJson(service.doSomething(param)));
- }
- }
几个关键点:
- 使用 @RunWith(SpringJUnit4ClassRunner.class)
- 使用@ContextConfiguration引入所有使用到bean的配置文件
- 使用@Resouce注入程序定义的bean, 一般它都是应用中定义的某个服务类,比如带有@Service("someRemoteService")注解的类
- Spring中常用的注解所代表的含义,参考: http://www.cnblogs.com/rhythmK/p/3412549.html
对于单元测试,测试工程应该会是整个工程项目的其中一个子工程,而这个子工程,应该是会对其他子工程有依赖. 如果是maven项目,要在pom.xml中定义对其他兄弟工程的依赖.
在实际项目里,一般单元测试的范围如下:
- Service实现类
- Dao实现类
- 各种工具类,一般是***Util.java
- 其它涉及功能相关的类
一个Spring项目的单元测试结构基本是这个样子.
本文出自"lijingshou"博客,转载请务必保留此出处http://lijingshou.iteye.com/blog/2269593
使用Junit对Spring进行单元测试实战小结的更多相关文章
- Maven下使用Junit对Spring进行单元测试
主要步骤 1. 在工程的pom文件中增加spring-test的依赖: <dependency> <groupId>org.springframework</groupI ...
- Spring Boot 单元测试示例
Spring 框架提供了一个专门的测试模块(spring-test),用于应用程序的单元测试. 在 Spring Boot 中,你可以通过spring-boot-starter-test启动器快速开启 ...
- Spring Cloud Gateway实战之四:内置predicate小结
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Spring MVC -- 单元测试和集成测试
测试在软件开发中的重要性不言而喻.测试的主要目的是尽早发现错误,最好是在代码开发的同时.逻辑上认为,错误发现的越早,修复的成本越低.如果在编程中发现错误,可以立即更改代码:如果软件发布后,客户发现错误 ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_17、SpringBootTest单元测试实战
笔记 1.@SpringBootTest单元测试实战 简介:讲解SpringBoot的单元测试 1.引入相关依赖 <!--springboot程 ...
- Spring Cloud Gateway实战之一:初探
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于<Spring Cloud Gateway实 ...
- Spring Cloud Gateway实战之二:更多路由配置方式
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 项目中Spring注入报错小结
之前在做单元测试时采用注解方式进行service对象的注入,但运行测试用例时对象要注入的service对象总是空的,检查下spring配置文件,我要配置的bean类xml文件已经包含到spring要加 ...
- Spring之单元测试
引言 是否在程序运行时使用单元测试是衡量一个程序员素质的一个重要指标.使用单元测试既可以让我检查程序逻辑的正确性还可以让我们减少程序测试的BUG,便于调试可以提高我们写程序的效率.以前我们做单元测试的 ...
随机推荐
- 第三个Sprint冲刺事后诸葛亮报告
用户反馈:还好吧. 用户数量:4 团队改进建议:思维局限太大,技术需要革新. 1.每个成员第一个sprint阶段有何需要改进? 成员 需要改进 邵家文 需要提高自己的工作效率,与创新能力,解决问题的能 ...
- Python 基礎 - 列表的使用_v2
接下來繼續講之前沒提到的 copy(),我們依續之前的列表,來做觀察,看看使用 copy() 有什麼不一樣? #!/usr/bin/env python3 # -*- coding:utf-8 -*- ...
- 动态规划VS分治策略
•在用分治法解决问题时,由于子问题的数目往往是问题规模的指数函数,因此对时间的消耗太大. •动态规划的思想在于,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,而我们能够保存已经解决的子问 ...
- folly::AtomicHashmap源码分析(二)
本文为原创,转载请注明:http://www.cnblogs.com/gistao/ 背景 上一篇只是细致的把源码分析了一遍,而源码背后的设计思想并没有写,设计思想往往是最重要的,没有它,基本无法做整 ...
- ThinkPHP BASE
对于thinkphp 开源框架来说 是一个基于 模型/控制器/视图 的结构 V(View):视图接收来自用户操作的信息返回到 对应的控制器或方法 C (controller):控制器则调用 相 ...
- KSImageNamed 安装后无效解决方法
UIImage的imageNamed提供文件名自动补全功能.使用[UIImage imageNamed:@"xxx"]时,该插件会扫描整个workspace中的图片文件.若安装后无 ...
- 【Summary】ANSYS TRANSIENT ANALYSIS
1.4. Damping: https://www.sharcnet.ca/Software/Ansys/15.0.7/en-us/help/ans_str/Hlp_G_STR1D.html 8.7. ...
- 转载list
Linux系统下安装rz/sz命令及使用说明 http://blog.csdn.net/kobejayandy/article/details/13291655
- MFC双缓冲绘图(2015.09.24)
问题引入: 最近在尝试编写贪吃蛇游戏时遇到这么一个问题:当系统以较快频率向窗口发送WM_PAINT消息时,调用OnPaint()函数在窗口中绘制图形就会发生闪烁现象. 问题分析: 当我们把绘图过程放在 ...
- Android AsyncTask 简单用法
简介 AsyncTask 是一个轻量级的异步处理类.使用是需继承自该类.可以方便的执行异步任务并且在将进度显示在UI上. 注意事项 AsyncTask只适合处理轻量级的任务即耗时几秒或者几十秒的任务. ...