Проблема PowerMokito с расширенными методами - PullRequest
0 голосов
/ 16 января 2012

Проблема: Не удается заглушить метод для объекта возврата из расширенного класса. Я просто получаю нулевые указатели на метод, который я пытаюсь заглушить. Нужно ли сначала шпионить за объектами? Я тоже это попробовал и не получилось.

Тестовая структура: PowerMockito версия 1.9 PowerMock версия 1.4.11 EasyMock версия 3.1

Строка кода, пытающаяся проверить.

String expected = methodFromExtendedClass_GetObject().getStringValueFromReturnObject();

Тестовый код

PowerMockito.stub(MemberModifier.method(ExtendedClassA.class, "methodFromExtendedClass_GetObject()")).toReturn(new testObject());

PowerMockito.stub(MemberModifier.method(testObject.class, "getStringValueFromReturnObject")).toReturn(testString);

1 Ответ

0 голосов
/ 21 января 2012

Я не знаю синтаксис EasyMock, но я знаю Mockito.У меня не так уж много работы с этим, но кажется, что вы просто пытаетесь создать объект-заглушку для возврата другого макета, который возвращает строку.

Если это так, создайте тестовый объект Mock:

TestObject testObject = mock(TestObject.class);

when(testObject.getStringValueFromReturnObject()).thenReturn(testString);

Затем используйте этот макет в качестве возврата для вашей заглушки:

PowerMockito.stub(MemberModifier.method(ExtendedClassA.class, 
           "methodFromExtendedClass_GetObject()")).toReturn(testObject);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...