Demo代码:

  1. @RunWith(SpringJUnit4ClassRunner.class)
  2. @ContextConfiguration(locations = "classpath*:/META-INF/spring/all-beans.xml")
  3. public class SomeRemoteServiceTest {
  4. @Resource(name = "someRemoteService")
  5. RemoteService service;
  6. @Test
  7. public void testService() {
  8. Param param = new Param();
  9. param.setCityId(330100);
  10. System.out.println(JsonUtil.toJson(service.doSomething(param)));
  11. }
  12. }

几个关键点:

  1. 使用 @RunWith(SpringJUnit4ClassRunner.class)
  2. 使用@ContextConfiguration引入所有使用到bean的配置文件
  3. 使用@Resouce注入程序定义的bean, 一般它都是应用中定义的某个服务类,比如带有@Service("someRemoteService")注解的类
  4. Spring中常用的注解所代表的含义,参考: http://www.cnblogs.com/rhythmK/p/3412549.html

对于单元测试,测试工程应该会是整个工程项目的其中一个子工程,而这个子工程,应该是会对其他子工程有依赖. 如果是maven项目,要在pom.xml中定义对其他兄弟工程的依赖.

在实际项目里,一般单元测试的范围如下:

  1. Service实现类
  2. Dao实现类
  3. 各种工具类,一般是***Util.java
  4. 其它涉及功能相关的类

一个Spring项目的单元测试结构基本是这个样子.

本文出自"lijingshou"博客,转载请务必保留此出处http://lijingshou.iteye.com/blog/2269593

使用Junit对Spring进行单元测试实战小结的更多相关文章

  1. Maven下使用Junit对Spring进行单元测试

    主要步骤 1. 在工程的pom文件中增加spring-test的依赖: <dependency> <groupId>org.springframework</groupI ...

  2. Spring Boot 单元测试示例

    Spring 框架提供了一个专门的测试模块(spring-test),用于应用程序的单元测试. 在 Spring Boot 中,你可以通过spring-boot-starter-test启动器快速开启 ...

  3. Spring Cloud Gateway实战之四:内置predicate小结

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. Spring MVC -- 单元测试和集成测试

    测试在软件开发中的重要性不言而喻.测试的主要目的是尽早发现错误,最好是在代码开发的同时.逻辑上认为,错误发现的越早,修复的成本越低.如果在编程中发现错误,可以立即更改代码:如果软件发布后,客户发现错误 ...

  5. 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_17、SpringBootTest单元测试实战

    笔记 1.@SpringBootTest单元测试实战     简介:讲解SpringBoot的单元测试         1.引入相关依赖              <!--springboot程 ...

  6. Spring Cloud Gateway实战之一:初探

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于<Spring Cloud Gateway实 ...

  7. Spring Cloud Gateway实战之二:更多路由配置方式

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. 项目中Spring注入报错小结

    之前在做单元测试时采用注解方式进行service对象的注入,但运行测试用例时对象要注入的service对象总是空的,检查下spring配置文件,我要配置的bean类xml文件已经包含到spring要加 ...

  9. Spring之单元测试

    引言 是否在程序运行时使用单元测试是衡量一个程序员素质的一个重要指标.使用单元测试既可以让我检查程序逻辑的正确性还可以让我们减少程序测试的BUG,便于调试可以提高我们写程序的效率.以前我们做单元测试的 ...

随机推荐

  1. Linux搭建SVN服务器

    1 安装SVN 官网下载:http://subversion.apache.org/packages.html SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.n ...

  2. 《一个 Go 程序系统线程暴涨的问题》结论

    原文地址:https://zhuanlan.zhihu.com/p/22474724 作者的结论没写好,我来说两句.. 结论: Docker swarm自己有个函数,叫setTcpUserTimeou ...

  3. height与line-height的深入理解及应用

    转载:原文地址:http://www.zhangxinxu.com/wordpress/?p=384 一.前言 前两天在腾讯ISD团队博客上看到一篇翻译的文章"深入理解css 行高" ...

  4. SQL --Chater03 聚合与排序

    数据说明: +-----------+------------+---------------+--------------+--------------+------------+ | shohin ...

  5. Convert.ToInt32()与int.Parse()的区别

    Convert.ToInt32()与int.Parse()的区别 (1)这两个方法的最大不同是它们对null值的处理方法:    Convert.ToInt32(null)会返回0而不会产生任何异常, ...

  6. php中关于Map热点的运用

    给图像使用map标签,可以给图像的某个部分建立超连接 一般情况下用在图片上,如:<img src="Images/banner.gif" width="780&qu ...

  7. unity对话代码

    这个是根据网上unity GUI打字机教程修改的 原教程是JS,我给改成了C#,然后增加了许多功能 这个教程能实现一段文字对话,有打字机显示效果,能写许多对话,能快进对话,总之现在RPG游戏里有的功能 ...

  8. USB

    [一].USB(Universal Serial Bus):是通用串行总线的缩写,具有方便易用,动态分配带宽,容错性优越和高性价比等特点. USB接口设备结构分:USB Host(主机)和USB De ...

  9. 单例模式读取properties配置文件中的信息

    public class ConfigManager {    private static ConfigManager config = null;    //创建Properties文件  读取配 ...

  10. 【转载】浅谈游戏开发之2D手游工具

    浅谈游戏开发之2D手游工具 来源:http://www.gameres.com/459713.html 游戏程序 平台类型: iOS Android  程序设计: 其它  编程语言:   引擎/SDK ...