如果使用@Mock注释创建模拟之间的方法调用顺序,有没有办法验证?
如documentation中所述,可以使用模拟控件完成。但是EasyMockRule不公开控制对象。 我查看了EasyMockSupport实现,但还没有办法强制它为所有注入的模拟使用一个控件。 :(
public class Test extends EasyMockSupport {
@Rule
public EasyMockRule mocks = new EasyMockRule(this);
@Mock
private SomeClass first;
@Mock
private OtherClass second;
@TestSubject
private UnderTest subject = new UnderTest ();
@Test
public void test() {
expect(first.call());
expect(second.call());
....
//Verify that calls were in order first.call(), second.call()
}
}
答案 0 :(得分:0)
你是对的,这是不可能的。增强可以是允许在@Mock注释中设置控件。你可以请file an issue吗?
在您的情况下,您必须使用相同的IMocksControl手动创建模拟,如文档中所述。