在grails 1.3.7中进行集成测试,我正在模拟一个名为'scp'的方法,并发生以下异常: junit.framework.AssertionFailedError:此时不再需要调用'scp'。要求结束。
'scp'被叫了两次。它第一次工作,第二次抛出异常。
答案 0 :(得分:10)
模拟方法时,可以指定一个范围,指示可以调用方法的次数。取自文档:
然后,使用可选范围作为参数指定要模拟的方法的名称。此范围确定您希望调用方法的次数,因此如果调用次数超出该范围(太少或太多),则会抛出断言错误。如果未指定范围,则假定默认值为“1..1”,即必须仅调用该方法一次。
control.demand.scp(2..2){ file, todir, verb, pass -> return "" }
我找不到这个错误的原因,所以我希望这有助于某人。