Когда я запускаю набор тестов 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