Java中编写单元测试,复杂一些的技术包括Stub和Mock。如今的Mock技术真的是越来越成熟了,甚至在Mock的概念上衍生出了Virtual Mock的概念。目前很多Java项目编写单元测试都会涉及部分Virtual Mock的技术。
DJunit是基于JUnit开发的开源的测试框架,可以集成到Eclipse,支持很多Mock方法,支持测试覆盖率查看等等。详细的可以看http://en.wikipedia.org/wiki/DjUnit
下面的列表显示了DJunit对于Mock的支持。
Method Name
|
Contents
|
addReturnValue
|
为指定类的指定方法添加指定的返回值
|
setReturnValueAt
|
为指定类的指定方法在指定调用次数中设定指定的返回值
|
setReturnValueAtAllTimes
|
为指定类的指定方法在所有调用次数中设定指定的返回值
|
addReturnNull
|
为指定类的指定方法添加Null的返回值
|
setReturnNullAt
|
为指定类的指定方法在指定调用次数中添加Null的返回值
|
setReturnNullAtAllTimes
|
为指定类的指定方法在所有调用次数中添加Null的返回值
|
getArgument
|
取得指定类的指定方法所传入的参数
|
getCallCount
|
取得指定类的指定方法的调用次数
|
assertArgumentPassed
|
断言指定类的指定方法是否传入了指定的参数
|
assertCalled
|
断言指定类的指定方法是否被调用
|
assertNotCalled
|
断言指定类的指定方法是否没被调用
|
一个最简单的例子:
import
jp.co.dgic.testing.framework.DJUnitTestCase;
publicclass
HelloWorldTest
extends
DJUnitTestCase{
//omit
publicvoid
test001(){
System.out.println(
"[test001]"
);
HelloWorld.main(
null
);
}
publicvoid
test002(){
addReturnValue(
"HelloWorld"
,
"sayHello"
,
"GoodmorningWorld."
);
System.out.println(
"[test002]"
);
HelloWorld.main(
null
);
}
publicvoid
test003(){
addReturnValue(
"HelloWorld"
,
"sayHello"
,
"bye."
);
System.out.println(
"[test003]"
);
HelloWorld.main(
null
);
}
}
分享到:
相关推荐
Classes contained in spring-mock.jar: org.springframework.mock.jndi.ExpectedLookupTemplate.class org.springframework.mock.jndi.SimpleNamingContext.class org.springframework.mock.jndi....
mock练习
支持http接口自由mock,可根据需要进行接口mock测试。
简单的mockServer、模拟后台生成数据、启动后像后台一样直接调用接口
mock
使用mock时,需要对应的jar包,这里是EasyMock(EaskMock 3.1) 是一套用于通过简单的方法对于给定的接口生成 Mock 对象的类库。它提供对接口的模拟,能够通过录制、回放、检查三步来完成大体的测试过程,可以验证...
ApiMock操作文档
mock测试实战
Django搭建mock系统
2019年CFA一级mock打包
实现JQuery+ajax+mock.js模拟注册,判断输入框是否输入正确
Mock是一个零侵入的服务端Mock平台,底层基于JVM Sandbox。相比于Fiddler、-mock-fe
基于webpac5 的devserver的mock数据配置
it is the cfa mock question, which is for 2013 June
mock&mysql;问题
在window或者linux上,模拟一个mock接口,可以实现等同的接口效果,本人测试过
服务端Mock测试
Mock对象教程.pdf
Centos7下的mock完整离线安装rpm包 安装方式:上传到CentOS目录中,cd到目录,然后运行yum localinstall *.rpm
mock.js 离线教程