- 浏览: 39170 次
- 性别:
- 来自: 北京
最新评论
-
on-the-way:
很精辟啊
最近仔细研究了一下Java的NIO以及线程并发,搞清了点思路,特作笔记如下(NIO篇) -
wdlfellow:
现在需要在项目中做单元测试了,学习mock中。。。
junit 中的mock 使用摘记
文章列表
写性能测试案例的朋友经常会注意到,同一个测试场景经常需要测试不同数量级的参数,p-unit很好的支持这种参数化测试案例。p-unit要求参数化测试案例实现接口Parameterizable,接口的主要函数是parameters(),返回一个Parameter的参数列表。然后p-unit会将该列表中的参数一一传入你的测试函数,当然测试函数的声明为:
public void testA(MyParameter param)
一段实例代码:
public class ParamTestClass implements Parameterizable {
public static void ...
- 2008-12-17 11:30
- 浏览 921
- 评论(0)
Eclipse中使用JUnit4进行单元测试(高级篇)
通过前2篇文章,您一定对JUnit有了一个基本的了解,下面我们来探讨一下JUnit4中一些高级特性。
<!--[if !supportLists]-->一、 <!--[endif]-->高级Fixture
上一篇文章中我们介绍了两个Fixture标注,分别是@Before和@After,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过500兆)进行读写,他的每一个方法都是对文件进行操作。换句话说,在调用每一个方法之前,我们都要打开一个大文件并读入文件内容,这绝对是一个非常耗费时间的操 ...
- 2008-12-17 11:18
- 浏览 1310
- 评论(0)
如果你看过p-unit如何测试Vector#add(Object)是线程安全的,就可以体会到p-unit如何适合多线程测试。如果你觉得check_testAdd不符合你的编程风格的话,现在你可以使用 Annotation来表示check方法了,这就是@checkMethod Annotation, 上一篇文中的例子将写成:public class VectorTest extends TestCase { public static void main() { ConcurrentRunner runner = new ConcurrentRunner(); run ...
- 2008-12-17 11:07
- 浏览 1073
- 评论(0)
- <beans xmlns="http://xfire.codehaus.org/config/1.0">
- <service>
<name>HelloWorldService</name>
<serviceclass>org.bill.IHelloWorldService</serviceclass>
<implementationclass>org.bill.IHelloWorldServiceImpl</implementationclass>
&l ...
- 2008-12-16 00:05
- 浏览 758
- 评论(0)
最近想玩玩JMock。
对着官方文档,想开始写个test case,不过让我郁闷的是官方文档上给的实例代码不完全。算了,自己写个跑跑看了。
1.测试接口:
IHelloService:
1 public interface IHelloService {
2
3 /**
4 * @param name
5 * @return hello message
6 */
7 String sayHelloToSomebody(String name);
8
9 }IMPL:
1 public class HelloServiceImpl impleme ...
- 2008-12-05 16:16
- 浏览 1116
- 评论(0)
java 代码
class A{
public String a(){
return a;
}
}
public class B extends A{
public String b(){
return b;
}
}
上面所示的是一个很常见的继承结构,但是就是这样的结构导致了在Mock对象时会产生某些令人困惑的问题。
假如在BConsumer这个类中 ...
- 2008-12-05 15:12
- 浏览 881
- 评论(0)
jmock是写单元测试时需要生成mock对象时很好的辅助库。
软件地址: http://www.jmock.org
本文是我今天摸索使用jmock(v2.4)的总结。不是初学指南,当你入门了,我想可以作为简单手册。是原版文档补充。
一般使用模式:
生成Mockery对象,可以全局共享
Java代码
Mockery context = new JUnit4Mockery() {
{
//声明针对类mock(采用cglib生成子类),final方法无法mock,针对接口则会采用动态代理,不需要声明下面的代码
...
- 2008-12-05 15:06
- 浏览 1905
- 评论(0)
字号: 大大 中中 小小 JUnit中Mock的使用摘记
Mock的概念还是比较简单的,相当于真实的对象的替身,它实现了测试中用到的接口,并给接口中的方法设置测试需要返回的值,详细内容可以参考http://images.china-pub.com/ebook20001-25000/22962/ch6.pdf
现在有多种用来方便地动态生成Mock对象的Java API:如Easy Mock,JMock,DynaMock等
Easy Mock:
(上面的参考资料中有简单地讲解)
JMock:
1. http://www.jmock.org/
2. http://java.ccidn ...
- 2008-12-05 10:56
- 浏览 4946
- 评论(1)
不管是测试驱动开发或者是其它的开发模式,都会需要对代码进行单元测试,对于关联依赖关系少或者比较简单的类来说,直接使用JUnit就可以轻松的完成测试工作,但是对于关联到其它比较复杂的类或对运行环境有要求的类的单元测试,比如ejb,servlet或Dao等,测试起来或者需要配置特定的环境,或者十分耗时,给单元测试造成困难。在这里介绍使用JMock来模拟那些不需要测试的类,帮助完成有单元测试。
例如,有这样两个类,一个是Dao.Java,用于数据库访问成操作的,一个是Business.java,需要调用Dao进行业务处理。Dao.java是已经在有数据库的环境测试通过的,现在需要测试Business ...
- 2008-12-05 10:54
- 浏览 1400
- 评论(0)
关键字: JMock, 单元测试
JMock资料本来就少, JMock2.0更是少之又少,官方那可怜巴巴的几个连接,似乎并不能说明一个简单的例子应该怎么运行。
我结合官方那个例子,简单的写了一个最简单的JMock实例。
废话少说,先把jar包加上,我试了一下,下面似乎是必须的:
jmock.jar, jmock-junit.jar, junit.jar, hamcrest-core.jar, hamcrest-library.jar
配置好了,可以开始玩Mock了。与Spring相似的,Mock也有两种代理机制,一种是面向接口的,一种是面向普通Java类的(需要cglib.jar支持) ...
- 2008-12-05 10:37
- 浏览 2289
- 评论(0)
怎样使用Junit Framework进行单元测试的编写
您的传统代码是不是要求使用匹配的类测试套件才能针对其源代码库运行?针对此类目的,jMock 堪称是一个优秀的测试框架。但是,并不是所有情况都能够适用,尤其是必须以 jMock ...
- 2008-12-05 10:26
- 浏览 982
- 评论(0)
用Emma的Eclipse插件进行代码覆盖率测试
关键字: Emma Eclipse 覆盖率 测试
如上一个关于Cobertura的专题所说,我这里单开一个专题来专门说说Emma的Eclipse插件Eclemma的使用,尽管Emma生成的report在与Cobertura一起比较是显得似乎有些蹩脚,但是垂涎于Emma在代码覆盖细节方面的出众表现,我还是决定在我的Eclipse中集成Eclemma以便在开发过程中进行覆盖测试。
在对多逻辑并行条件的代码进行覆盖测试时,Cobertura表现得性格粗犷,而Emma则表现的温柔细致,体贴入微。打个比方,如果我们的某段程序中有如下代码:
---- ...
- 2008-12-05 10:22
- 浏览 3626
- 评论(0)