我面临着例外
java.lang.IllegalAccessError:类 org.mockito.Matchers 尝试访问私有方法 'void org.mockito.internal.progress.ThreadSafeMockingProgress.()' (org.mockito.Matchers 和 org.mockito.internal.progress.ThreadSafeMockingProgress 位于加载器“app”的未命名模块)
在 org.mockito.Matchers.(Matchers.java:107)
当我尝试在mockito when() 存根调用中使用匹配器any() 时。类参数类型适用于来自 Binance Spot Java 库的“NewOrder ”
我正在尝试做
when(mockBinanceApiRestClient.newOrder(any(NewOrder.class))).thenReturn(buyOrderResp);
Run Code Online (Sandbox Code Playgroud)
嘲笑BinanceApiRestClient。any() 和when() 是从org.mockito.Mockito 静态导入的。这真是一场噩梦,为什么它不起作用。任何帮助深表感谢。
小智 11
当我们使用以下依赖项时,我也遇到了类似的问题 -
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>2.0.2-beta</version>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我们有以下导入语句导致 IllegalAccess 异常
import static org.mockito.Matchers.any;
Run Code Online (Sandbox Code Playgroud)
我用 ArgumentMatchers 替换了 Matchers,如下所示 -
import static org.mockito.ArgumentMatchers.any;
Run Code Online (Sandbox Code Playgroud)
这解决了这个问题。
看起来您的类路径上有两个相互冲突的 Mockito 版本。
ThreadSafeMockingProgress 早在 2016 年就被转换为单例,并且其构造函数也更改为私有。
另一方面,您似乎正在使用org.mockito.Matchers,它已被弃用很长一段时间,并最终在 Mockito 4.x 中删除
| 归档时间: |
|
| 查看次数: |
7449 次 |
| 最近记录: |