java允许测试通过set-JMock的模拟方法调用
在JMock2中,当达到给定mock方法调用的执行时,是否有任何方法让测试通过? 换句话说,我想编写一些测试代码,如:
assertTrue(when(aRequestMock).methodCall());
要测试生产代码,请执行以下操作:
public void methodUnderTest(){
// Some initialization code and members call
request.foo();
String a = anotherInstance.bar();
// many more calls to follow
}
。。。所以我不需要模仿'anotherInstance.bar()'
返回值,也不需要模仿后面的任何其他模仿调用
我知道它不会代表任何严格的检查,也不能被视为最佳实践,但当使用一长串成员方法测试方法时,它会很方便
# 1 楼答案
给定代码:
一旦
foo()
被调用,就不能跳过bar()
和baz()
的执行。我还要说,您不想这样做,因为即使您可以在测试中跳过它,它也将在生产中执行,所以您最好也测试它:-)你能做的最接近的事情就是
这里我在第一行使用
oneOf()
,因为foo()
是测试的重点。您也可以通过不提及bar()
和baz()
来简化此过程:但是,请记住,这样做会忽略对
anInstanceMock
和yetAnotherInstanceMock
的任何方法调用