Весенний тест загрузки - PowerMockito для макета и заглушки конструктора

Для тестирования моего приложения использую тест начальной загрузки Spring, но я использую стороннюю библиотеку. Предположим, у нас есть класс TRequest, и у него есть какой-то конструктор, и я хочу смоделировать и заглушить этот конструктор, чтобы вернуть результат.

@SpringBootTest
@RunWith(SpringRunner.class)
@PrepareForEverythingForTest
public class TestClass {

@MockBean
TRequest trequest ; 

@Before
public void setUp() throws Exception {
    PowerMockito.whenNew(TRequest.class).withAnyArguments().thenReturn(trequest);

}
}

Теперь, когда я пытаюсь создать конструктор, используя new, он не возвращает правильный результат с заглушкой.

  TRequest trequest1 = new TRequest("apiKey","secretKey") ; 
  trequest.equals(trequest1) ; // false but I want it to be true

1 ответ

Использовали jackson сторонняя библиотека для тестирования. - получение исключений ClassLoader из-за PowerMock.

@SpringBootTest
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(SpringRunner.class)
public class TestPowerMockito {

    @MockBean
    ObjectMapper object;

    @Before
    public void init() throws Exception {
        PowerMockito.whenNew(ObjectMapper.class).withAnyArguments().thenReturn(object);
    }

    @Test
    public void test() {
        assertEquals(object, new ObjectMapper());
    }

}
Другие вопросы по тегам