【发布时间】:2015-03-20 14:16:26
【问题描述】:
我是 EasyMock 的新手,通常使用 Mockito,所以如果这是一个愚蠢的问题,请原谅,但我有一个使用我正在测试的类中的一个字段的期望调用。问题是由于在实际方法调用之前运行了execute,因此该字段为null。
public class ClassToTest {
SomeObject someObject = null;
AnotherObject anotherObject;
public String testMethod() {
someObject = new SomeObject();
String result = anotherObject.someMethod(someObject);
System.out.println(result);
}
// Some other code here
}
ClassToTest testClass = new ClassToTest();
AnotherObject mockedObject = createMock(AnotherObject.class);
expect(mockedObject.someMethod(testClass.someObject)).andStubReturn("test");
testClass.testMethod();
在 Mockito 中,这将被写为
when(mockObject.someMethod(testClass.someObject)).thenReturn("test");
并且将使用执行时的任何 someObject 。但是,使用 EasyMock 时,由于在设置期望调用时 someObject 为 null,因此调用期望 null 作为参数。
在实际调用 someMethod 时,EasyMock 中有没有一种方法可以获取代码中该点的任何字段?
【问题讨论】:
-
我不太确定我是否理解
foo的来源 - 这是您之前捕获的东西吗? -
确实——用一个简短但完整的例子会更容易理解。
-
我更新了一些代码,非常粗略的逻辑场景草图。
标签: java mocking mockito easymock