gpt4 book ai didi

java - 尝试验证静态方法时出现 NotAMockException

转载 作者:行者123 更新时间:2023-12-04 01:00:23 25 4
gpt4 key购买 nike

我正在尝试在单元测试中验证在特定配置中未调用静态方法。

因此,我正在使用 PowerMock ( powermock-core:2.0.4 & powermock-module-junit4:2.0.4 ) 及其 Mockito API ( powermock-api-mockito2:2.0.4 )。

做的时候

PowerMockito.mockStatic(MyClass.class);

serviceUnderTest.methodThatShouldNotCallStaticMethod(arg1, arg2); //service not of type MyClass of course

PowerMockito.verifyStatic(MyClass.class, never());
MyClass.staticMethod(any(), any());

在带有注释的类中的测试方法上

@RunWith(PowerMockRunner.class)
@PrepareForTest({MyClass.class})

我收到以下错误: org.mockito.exceptions.misusing.NotAMockException:
Argument passed to verify() is of type Class and is not a mock!
.

我做错了什么以及如何解决?

谢谢

最佳答案

原来是a Powermock bug ...

这里是 the workaround对于任何可能感兴趣的人:

  • 删除行testImplementation 'org.mockito:mockito-inline:2.13.0 "在毕业
  • 创建 src\test\resources\org\powermock\extensions\configuration.properties由单行 mockito.mock-maker-class=mock-maker-inline 组成的文件
  • 关于java - 尝试验证静态方法时出现 NotAMockException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58752923/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com