Я новичок в EasyMock, обычно использую Mockito, поэтому, пожалуйста, извините это, если это глупый вопрос, но у меня есть ожидание, которое использует одно из полей из класса, который я тестирую. Проблема в том, что, поскольку выполнение выполняется до вызова метода фактически, поле имеет значение null.EasyMock Expect Значение поля 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 в качестве параметра.
Есть ли способ в EasyMock вместо этого получить то, что поле находится в точке в коде, когда someMethod фактически называется?
Я не совсем уверен, что понимаю, откуда возникла «foo» - это то, что вы захватили ранее? – Makoto
Действительно - было бы намного легче понять с помощью короткого, но * полного * примера. –
Я обновил код, очень грубый эскиз логического сценария. – GlenMTB