PowerMockito, когда New в рамках метода тестирования не создается - PullRequest
0 голосов
/ 25 июня 2019

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), то покрытие кода не работает.

Может кто-нибудь помочь мне разобраться в проблеме?Или предложите способ смоделировать шаг и также охватить покрытие кода.

...