
单元测试
文章平均质量分 85
wjxbj
这个作者很懒,什么都没留下…
展开
-
使用Powermock和mockito测试静态方法
实例:package com.bijian.study;import static org.junit.Assert.assertEquals;import java.io.IOException;import org.junit.Before;import org.junit.Test;import org.junit.runner.Run...2013-12-06 10:44:55 · 782 阅读 · 0 评论 -
探索JUnit4扩展:Runner
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。 文章地址:http://www.blogjava.net/jiangshachina/archive/2011/12/14/366289.html ...原创 2014-09-23 23:07:50 · 171 阅读 · 0 评论 -
探索JUnit4扩展:使用Rule
在上一篇文章中,讨论了使用Runner扩展JUnit4的方式,即直接修改Test Runner的实现(BlockJUnit4ClassRunner)。但这种方法显然不便于灵活地添加或删除扩展功能。下面将使用JUnit4.7才开始引入的扩展方式——Rule来实现相同的扩展功能。1. Rule Rule是JUnit4.7才开始提供的一种扩展方式,它能够替代大部...原创 2014-09-23 23:09:44 · 184 阅读 · 0 评论 -
探索JUnit4扩展:深入Rule
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。 在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfters()等方法进行扩展。本文将介绍如何使用Rule去实现@Before,@A...原创 2014-09-23 23:59:03 · 155 阅读 · 0 评论 -
Test注解的两个属性:expected和timeout
JUnit4:Test文档中的解释: The Test annotation supports two optional parameters. The first, expected, declares that a test method should throw an exception. If it doesn't throw an exception or if i...原创 2014-09-25 21:50:20 · 676 阅读 · 0 评论 -
用JUnit4进行参数化测试
参数化测试是一个JUnit 3不具备的功能。基本使用方法:一.@RunWith 当类被@RunWith注解修饰,或者类继承了一个被该注解修饰的类,JUnit将会使用这个注解所指明的运行器(runner)来运行测试,而不是JUnit默认的运行器。文档中的例子 Class Parameterized的文档中有一个Fibonacci(斐波那契)的例...原创 2014-09-25 22:18:04 · 1779 阅读 · 0 评论 -
探索JUnit4扩展:使用Theory
理论机制(Theory)一.为什么要引用理论机制(Theory) 当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。TDD 的优点: 1.使得开发人员对即将编写的软件任务具有更清晰的认识,...原创 2014-09-25 22:52:37 · 455 阅读 · 0 评论 -
junit测试private方法
测试private methodsJunit FAQ How do I test private methods? Testing private methods may be an indication that those methods should be moved into another class to promote reusabilit...原创 2014-09-25 23:02:52 · 1328 阅读 · 0 评论 -
探索JUnit4扩展:断言语法assertThat
一.概述 JUnit 设计的目的就是有效地抓住编程人员写代码的意图,然后快速检查他们的代码是否与他们的意图相匹配。 JUnit 发展至今,版本不停的翻新,但是所有版本都一致致力于解决一个问题,那就是如何发现编程人员的代码意图,并且如何使得编程人员更加容易地表达他们的代码意图。JUnit 4.4 也是为了如何能够更好的达到这个目的而出现的。 JUnit 4.4...原创 2014-09-26 12:32:13 · 417 阅读 · 0 评论 -
JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误
下载了最新的JUnit版本,是4.11,结果尝试使用发现总是报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing这样的错误,上网查了一下,一般的解决方案是,换一个低一点的版本就好了。还有人说,是缺少hamcrest的包。去官网看了一下,如下发现: junit.jar: Includes the...原创 2014-08-07 23:37:14 · 124 阅读 · 0 评论 -
JUnit使用的设计模式
JUnit源代码涉及使用了大量设计模式1、模板方法模式(Template Method) 定义一个操作中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。 使用场合:a)一次性实现一个算法的不变部分,并且将可变的行为留给子类来完...原创 2014-02-11 12:48:49 · 257 阅读 · 0 评论 -
Mockito(一) --入门篇
Mockito是一个针对Java的mocking框架,它与EasyMock和jMock很相似,但是通过在执行后校验什么已经被调用,它消除了对期望 行为(expectations)的需要。其它的mocking库需要你在执行前记录期望行为(expectations),而这导致了丑陋的初始化代码。 Mockito是现在比较流行的mock框架。 什么...原创 2013-12-09 17:20:50 · 214 阅读 · 0 评论 -
Mockito(二)--实例篇
学习了基本知识后,就可以实战了,Mockito的实际使用还是比较麻烦的。因为在实际使用中,最常遇到的就是需要模拟第三方类库的行为。 比如现在有一个类FTPFileTransfer,实现了向FTP传输文件的功能。这个类中使用了apache的ftp类org.apache.commons.net.ftp.FTPClient;现在测试FTPFileTransfer 这...原创 2013-12-09 18:16:16 · 277 阅读 · 0 评论 -
Mockito(三)--完整功能介绍
mockito官网:http://code.google.com/p/mockito/,打开documentation可以看到官方最新的文档资料。一.使用mockito验证行为//首先要import Mockitoimport static org.mockito.Mockito.*;//mock creationList mockedList = mo...原创 2013-12-09 19:31:41 · 185 阅读 · 0 评论 -
Mockito单元测试实例
Mockito单元测试实例:public class SettingServiceTest { private List<PersonDTO> personList = new ArrayList<PersonDTO>(); @InjectMocks private SettingPojoService setti...原创 2013-12-09 19:53:10 · 275 阅读 · 0 评论 -
Mockito:一个强大的用于 Java 开发的模拟测试框架实例
Mockito框架: Mockito是一个基于MIT协议的开源java测试框架。 Mockito区别于其他模拟框架的地方主要是允许开发者在没有建立“预期”时验证被测系统的行为。对于mock对象的一个评价是测试系统的测试代码是一个高耦合的,由于 Mockito试图通过移除“期望规范”去除expect-run-verify(期望验证模式)的模式,因此在耦合度上有所...原创 2013-12-09 20:12:38 · 174 阅读 · 0 评论 -
强大的Mockito测试框架
一.自动生成Mock类 在需要Mock的属性上标记@Mock注解,然后@RunWith中配置Mockito的TestRunner或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。二.自动注入Mock类到被测试类 只要在被测试类上标记@InjectMocks,Mockito就会自动将标记@Moc...原创 2013-12-10 09:13:03 · 111 阅读 · 0 评论 -
JUnit4中@AfterClass @BeforeClass @after @before的区别对比
一.基础知识JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)@After:释放资源 对于每一个测试方法都要执行一次(注意与AfterClass区别,后者是对于所有方法执行一次)@Test:测试方法,在...原创 2013-12-10 09:15:04 · 401 阅读 · 0 评论 -
Mockito异常测试实例
Mockito异常测试实例:package com.bijian.study;import static org.mockito.Mockito.mock;import static org.mockito.Mockito.when;import org.junit.Assert;import org.junit.Test;import org.mockito...原创 2014-01-03 12:51:52 · 4642 阅读 · 0 评论 -
探索JUnit4扩展:假设机制(Assumption)
一.假设机制(Assumption)概述 理想情况下,写测试用例的开发人员可以明确的知道所有导致他们所写的测试用例不通过的地方,但是有的时候,这些导致测试用例不通过的地方并不是很容易的被发现,可能隐藏得很深,从而导致开发人员在写测试用例时很难预测到这些因素,而且往往这些因素并不是开发人员当初设计测试用例时真正目的,他们的测试点是希望测试出被测代码中别的出错地方。 ...原创 2014-09-26 12:58:13 · 522 阅读 · 0 评论