当前位置: 首页 > 知识库问答 >
问题:

Power mockito模拟静态调用实际方法

孙洋
2023-03-14
 private void mockStorageServiceFactory(StorageGroupService storageGroupService)
        throws StorageServiceException {
    PowerMockito.mockStatic(StorageServiceFactory.class);
    PowerMockito.when(StorageServiceFactory.getContainerNameForPartner(anyLong()))
        .thenReturn("dummyName");
}

实际的方法是在第3行被调用(时(). thenBack())。我已经添加了@RunAnd(PowerMockRunner.class)@PREareForTest注释。
为什么调用实际方法?我也尝试了PowerMockito.do返回,但是得到了同样的问题。

共有1个答案

丘友樵
2023-03-14

抱歉,我正在从main方法运行测试用例。当我作为JUNIT运行它时,它正在工作。

 类似资料:
  • 问题内容: 我正在尝试模拟私有静态方法。见下面的代码 这是我的测试代码 但是我运行的每个瓦片都会出现此异常 我想我在嘲弄东西时做错了什么。有什么想法我该如何解决? 问题答案: 为此,您可以使用和。 此外,您必须在测试类中指定PowerMock运行器,并准备要进行测试的类,如下所示: 希望对您有帮助。

  • 在尝试模拟InetAddress中的静态方法时,我遇到了奇怪的问题。我成功地能够为许多其他类模拟静态方法,并且一切正常,但InetAddress显示不同的行为。我使用的是JUnit 4. x、Mockito 1.9.5 下面给出了使用Mockito和PowerMock以及InetAddress模拟的测试- 当我将下面给出的方法放入某个实用程序InetAddress中时。getLocalHost()

  • 编辑: 感谢所有的回复。我找到了解决办法。我试图模拟一个方法findById,它不是直接在User.class中,而是在用户扩展的genericModel.class中。现在一切都很完美。

  • 当所有参数都在使用匹配器时,为什么我会得到这个异常?如何解决?我调试了它,发现返回null。 当我将注释添加到测试类并运行测试时,junit不会做出响应。为什么? 编辑 我试着不使用论据匹配器,结果

  • 我有一个类需要测试: 和一个测试类: 我必须模拟静态调用,以便它按我的预期返回 我遵循以下步骤: @RunWith(PowerMockRunner.class) @PrepareForTest({ Collections.class, StreamSupport.class, CampaignHandlerFactory.class}) PowerMockito.mockStatic(clazz)