使用@PrepareForTest时在org.mockito发生ExceptionInInitializerError

时间:2018-07-19 01:31:54

标签: java unit-testing mockito testng powermock

我正在使用TestNG编写单元测试。对于我的一堂课,我得到ExceptionInInitializerError。 我发现添加

时收到此错误
@PrepareForTest({ChatBotInteractionHelper.class}) . 

当我从上面的注释中删除ChatBotInteractionHelper.class时,它不会引发ExceptionInInitializerError错误,但会在ChatBotInteractionHelper类内调用静态块。即以下代码停止工作:

MockRepository.addSuppressStaticInitializer("packagename.abc.class")

这是我的代码的结构。

@PowerMockIgnore({"javax.ws.*","org.apache.http.conn.ssl.*", "javax.net.ssl.*" , "javax.crypto.*"})

@PrepareForTest({ChatBotInteractionHelper.class})

public class StopAndExitTests {

    @InjectMocks
    private ChatBotInteractionHelper interactHelper;

    static{

      MockRepository.addSuppressStaticInitializer("a.b.c.ChatBotInteractionHelper");

    }

    @Test
    public void test(){
      // do something
    }

    @ObjectFactory public IObjectFactory getObjectFactory() {
         return new org.powermock.modules.testng.PowerMockObjectFactory(); 
    }

}

有人可以告诉我我在这里面临的问题吗?由于这个问题,我被封锁了两天。

0 个答案:

没有答案