与JUnit 5测试一起运行时,JUnit 4老式测试在NPE上失败

时间:2019-02-18 12:45:52

标签: java spring junit4 powermockito junit5

当我自己运行一组JUnit 4测试时,它们运行起来没有问题,但是当我执行测试包时,当尝试模拟模拟实例的方法时,JUnit 4测试会抛出Nullpointer异常。 / p>

为了测试我的一种方法,我需要为此模拟一个库的静态方法(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抛出{ 1}}。

通过Intellij IDEA执行测试时会出现问题。

编辑:当我删除所有PowerMock代码时,也会出现此问题

0 个答案:

没有答案