DJunit对于Virtual Mock的支持

Java中编写单元测试,复杂一些的技术包括StubMock。如今的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

断言指定类的指定方法是否没被调用

一个最简单的例子:

importjp.co.dgic.testing.framework.DJUnitTestCase;
publicclassHelloWorldTestextendsDJUnitTestCase{
//omit
publicvoidtest001(){
System.out.println("[test001]");
HelloWorld.main(null);
}

publicvoidtest002(){
addReturnValue("HelloWorld","sayHello","GoodmorningWorld.");
System.out.println("[test002]");
HelloWorld.main(null);
}

publicvoidtest003(){
addReturnValue("HelloWorld","sayHello","bye.");
System.out.println("[test003]");
HelloWorld.main(null);
}
}

你可能感兴趣的:(eclipse,框架,单元测试,JUnit)