apf*_*ger 12 java mocking mockito
我正在尝试模拟唱片班
@Test
public void testRecord() {
record Rec(){}
Mockito.mock(Rec.class);
}
Run Code Online (Sandbox Code Playgroud)
但它给出了错误
org.mockito.exceptions.base.MockitoException:
Cannot mock/spy class Rec
Mockito cannot mock/spy because :
- final class
at ...
Run Code Online (Sandbox Code Playgroud)
这当然是有道理的。
thc*_*chp 25
从 5.x 版本开始,mockito 将其默认的模拟运行器切换为mockito-inline。
Mockito 5 将默认的mockmaker切换为mockito-inline,现在需要Java 11(请参阅Mockito GitHub主页)
使用mockito 5.x,如果不能,请按照下面的先前答案操作:
正如错误消息所示,您无法使用默认的 Mockito 模拟最终类。
但社区提出了mockito-inline,一个扩展带来了实验性功能,例如模拟最终类和方法或静态方法。
只需将其添加到您的中pom.xml并正常使用 Mockito 即可。
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
对于 Gradle:
testImplementation 'org.mockito:mockito-inline:4.11.0'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8190 次 |
| 最近记录: |