Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EasyMock:对使用@Mock创建的Mock调用订单_Java_Unit Testing_Easymock - Fatal编程技术网

Java EasyMock:对使用@Mock创建的Mock调用订单

Java EasyMock:对使用@Mock创建的Mock调用订单,java,unit-testing,easymock,Java,Unit Testing,Easymock,如果方法是用@Mock注释创建的,有没有办法验证它们在Mock之间的调用顺序 如中所述,它可以通过模拟控件完成。但EasyMockRule不公开控件对象。 我已经研究了实现,但还没有找到强制它对所有注入的模拟使用一个控件的方法( 你是对的,这是不可能的。一个增强可能是允许在@Mock注释中设置一个控件。你可以吗 在您的情况下,您必须使用与文档中所述相同的IMocksControl手动创建模拟。您是对的,这是不可能的。一个增强可能是允许在@Mock注释中设置控件。您可以吗 在您的情况下,您必须使用

如果方法是用@Mock注释创建的,有没有办法验证它们在Mock之间的调用顺序

如中所述,它可以通过模拟控件完成。但EasyMockRule不公开控件对象。 我已经研究了实现,但还没有找到强制它对所有注入的模拟使用一个控件的方法(


你是对的,这是不可能的。一个增强可能是允许在@Mock注释中设置一个控件。你可以吗


在您的情况下,您必须使用与文档中所述相同的IMocksControl手动创建模拟。

您是对的,这是不可能的。一个增强可能是允许在@Mock注释中设置控件。您可以吗

在您的情况下,您必须使用与文档中解释的相同的IMocksControl手动创建模拟

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()
 }
}