我想更好地理解EasyMock,并且使用它我想出了这个问题。
我想做的是对对象设置负面预期,检查在测试期间是否未调用某个方法(验证初始预期时)。
我知道验证的默认行为是检查两种情况:您的期望得到满足,并且没有执行其他调用;但是测试中没有记录没有调用某个方法,换句话说,如果你对这个方法设置了一个期望并且它没有被调用,那么你的测试将会失败(确认你的实现行为正常!)
有没有办法使用EasyMock进行设置?我在文档中找不到任何内容。
感谢您的关注,并提前为您提供帮助!
答案 0 :(得分:11)
EasyMock的工作方式是这样的:
如果你没有设定任何期望,就像在下面一样:
mock = createMock(YourInterface.class); // 1
// 2 (we do not expect anything)
replay(mock); // 3
那么这意味着如果ClassUnderTest
调用任何接口的方法,Mock对象将抛出AssertionError
,如下所示:
java.lang.AssertionError:
Unexpected method call yourMethodWhichYouDidNotExpectToBeCalled():
这本身就是负面期望检查。