PowerMockito.whenNew не работает для метода, который я пытаюсь проверить.
Метод, который я пытаюсь проверить, имеет создание нового объекта.Я не могу издеваться над этим шагом.Я попытался PowerMockito.WhenNew()
шаг, но он не работает.
Класс, который я пытаюсь проверить:
public class A()
{
public static void setValue()
{
B b = new B();
b.getRecord().getValue("Name");
}
}
Метод испытания:
public void testSetValue(){
B bMock = PowerMockito.mock(B.class);
Record recordMock = PowerMockito.mock(Record.class);
PowerMockito.whenNew(B.class).withNoArguments().thenReturn(bMock);
PowerMockito.when(bMock).getRecord().thenReturn(recordMock);
PowerMockito.when(recordMock).getValue(Mockito.anyString()).thenReturn("Test");
A.setValue();
}
Когда я запускаю тестовый метод, строка new B ();не создает фиктивный объект.
Я хочу смоделировать создание нового объекта для класса B.Если я @PrepareForTest(A.class)
, то покрытие кода не работает.
Может кто-нибудь помочь мне разобраться в проблеме?Или предложите способ смоделировать шаг и также охватить покрытие кода.