Винтажные тесты JUnit 4 терпят неудачу с NPE при запуске вместе с тестами JUnit 5 - PullRequest
0 голосов
/ 18 февраля 2019

Когда я запускаю набор тестов JUnit 4 самостоятельно, они запускаются без проблем, но когда я выполняю пакет тестов, тесты JUnit 4 выдают исключения Nullpointer при попытке смоделировать метод макетированного экземпляра.

Для тестирования одного из моих методов мне нужно смоделировать поведение статического метода библиотеки (вызов API), для этого я использую Powermock с Mockito, который работает только под JUnit 4, поэтому мне нужнозапустите их с помощью JUnit Vintage в нашем проекте.

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@ActiveProfiles({"dev"})
@Transactional
public class ChargebeeJUnit4Test {
    @Test
    public void chargebeeCustomerCreated() throws Exception {
        //Arrange
        String eventId = "ev_Hr5514pR9BCPBL13bg";
        String customerCreatedEvent = "{\"id\": \"" + eventId + "\",}";

        Request mockedRequest = Mockito.mock(Request.class);
        Mockito.when(mockedRequest.request())
                .thenReturn(new Result(200,
                        new JSONObject("{" +
                                "\"event\": {" +
                                "\"event_type\": \"customer_created\"," +
                                "\"content\": {" +
                                "\"customer\": {" +
                                "\"id\": \"" + ORGANISATION_WITHOUT_CB + "\"," +
                                "}" +
                                "}" +
                                "}" +
                                "}")));
        }
}

Когда я запускаю файл с тестами JUnit 4 самостоятельно, все они проходят, но когда я запускаю пакет тестов (один файл с JUnit5и один с тестами JUnit 4), NPE выдается на Mockito.when(mockedRequest.request()).

Проблема возникает при выполнении тестов через Intellij IDEA.

Редактировать: Проблематакже происходит, когда я удаляю весь код PowerMock

...