from:从0开始,构建前后端分离应用 1. 一些基本概念 1.1 为什么要进行单元测试?我自己的理解是 1.能够快速发现问题.避免衍生BUG的出现     在对一些现有代码进行修改时,或者修改现有BUG的时候.都有可能对已有的代码产生影响,产生新的问题.那么怎么能避免新问题的产生呢?那就是执行回归测试,但如果是人工进行费时费力,测试的还不全面.况且一般在进度的压力下,相信很少有人会因为修改一个问题而去回归测试以前的功能. 2.前后端分离的基础     前后端分离的前提就是前后端不互相依赖,前后…
Java单元测试(Junit+Mock+代码覆盖率) 原文见此处 单元测试是编写测试代码,用来检测特定的.明确的.细颗粒的功能.单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的. 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复.改进或重构之后的正确性. 一般来说,单元测试任务包括 接口功能测试:用来保证接口功能的正确性. 局部数据结构测试(不常用):用来保证接口中的数据结构是正确的 比如变量有无初始值 变量是否溢出 边界条件测试 变量没有赋值(即为NULL) 变…
项目用的是maven,所需jar包在pom.xml文件里面配置,单元测试要用的jar具体如下: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupI…
准备:Maven依赖 <!-- Spring和MVC的包这里不列出来了,webmvc,aspects,orm,其他maven会自动导 --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <scope>test</scope> </depende…
1.使用main方法 最早的测试方法一般是在类中增加main方法,然后在main方法中增加对每个方法的测试代码,如果要测其中一个,就屏蔽掉其他的测试代码,执行后,根据log的打印来判断测试是否成功 2.使用junit junit的出现,使得针对每个方法的单独测试成为可能,在junit中一般使用4.0后,基于注解,在@befor中初始化数据,在@after中恢复测试现场,然后@test注解标注每个测试案例,在测试案例中使用assert断言来判断测试是否成功,使用junit的好处是: 1).可以针对…
Mock&Spring集成 常规Mock单元测试 请参考上一篇文档Mock mock框架的功能性对比 http://jmockit.github.io/MockingToolkitComparisonMatrix.html 从模拟支持特性上做了详细的对比,比如是否支持模拟static.构造函数等等. 集成测试 大部分Web应用项目基于Spring平台构建,集成测试主要关注点是Junit+Spring+Mock集成! 从Spring项目2.x开始就有基于Junit的测试辅助包(Spring-tes…
真正意义上的spring环境中的单元测试方案spring-test与mokito完美结合 博客分类: java 测试 单元测试SpringCC++C#  一.要解决的问题:     spring环境中单元测试其实不是真正意义上的单元测试,真正意义上的单元测试应该是隔离所有的依赖,对当前业务实现业务逻辑测试:但是目前spring好像还没提供这样的解决方案,只能做依赖于环境的集成测试.比如:要测试A类,但是A类依赖B类和C类,这个时候我们必须保证B和C是完整的且是相对稳定的没太多bug的类.但是实际…
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架.它提供了一组可以在Spring应用上下文中配置的Bean,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作. 权限控制是非常常见的功能,在各种后台管理里权限控制更是重中之重.在Spring Boot中使用 Spring Security 构建权限系统是非常轻松和简单的.下面我们就来快速入门 Spring Security .在开始前我们需要一对…
前言 学习了Spring的注解.AOP后,接着学习Spring Web,对于Web应用开发,Spring提供了Web框架. Web应用 Spring MVC初探 MVC为(Model-View-Control),当用户在浏览器中点击链接或提交表单时,请求经历的流程大致如下. Spring MVC所有的请求都会通过一个前端控制器(front controller servlet),也即是DispatcherServlet,DispatcherServlet用于将请求发送给Spring MVC控制器…
Spring Boot 简化了 Spring 应用开发,不需要配置就能运行 Spring 应用,Spring Boot 的自动配置是通过 Spring 4.x 的条件注解 @Conditional 来实现的,@Conditional 根据特定条件来控制 bean 的创建行为.Spring Boot 默认会使用内置的 Tomcat,并支持 Spring MVC.RESTful 服务.新建 Spring Boot 项目很简单,IntelliJ IDEA 在 New Project 中选择 Sprin…