是否可以在注册阶段使用 EasyMock
注册一个参数为 mock 的方法调用?例如:
String s = 'a string';
ClassA a = createMock(ClassA.class);
ClassB b = createMock(ClassB.class);
ClassC c = createMock(ClassC.class);
expect(c.bFactoryMethod()).andReturn(b);
a.someMethod(s, b);
replayAll();
ClassToTest toTest = new ClassToTest();
toTest.wrapperMethodThatCallsSomeMethod(s);
verifyAll();
EasyMock
提示:
java.lang.IllegalStateException: missing behavior definition for the preceding method call
最佳答案
是的,将模拟参数传入模拟方法是完全有效的。在您的情况下,我怀疑 a.someMethod(s, b)
不是 void 方法。所以你确实应该记录一个返回值。
我也没有看到 a
和 b
是如何注入(inject)到 ClassToTest
中的。但我想这段代码被排除在问题之外。
关于java - EasyMock 记录阶段模拟作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32526778/