使用PowerMock模拟被测类的构造函数中调用的私有方法

时间:2019-03-19 18:00:34

标签: java junit4 powermockito

我不知道Powermock是否可以做到这一点。 我需要使用Powermock模拟一个私有方法,该方法在需要测试的类的构造函数中调用。 所以我有一个像这样的测试类:

MouseButtonRelease

创建间谍程序时出现空指针异常。 构造函数 new XMLTransaction(URL)调用 initialize 方法,该方法是我什么都不想要的方法。

有什么办法可以解决此问题。如果使用默认构造函数,则不会创建该类。

1 个答案:

答案 0 :(得分:0)

我知道了... 我创建了一个默认的构造函数,并将在initialize方法中实例化的所有类都设置为null。 从initMock()中删除了它

PowerMockito.doAnswer(new org.mockito.stubbing.Answer<Object>() {
            @Override
            public Object answer(InvocationOnMock invocation) throws Throwable {
                return null; //does nothing
            }
        }).when(xmlTransaction.getClass(), "initialize");
        PowerMockito.doNothing().when(xmlTransaction.getClass(), "initialize");