在mockito 3.x中,可以通过以下几种方式来防止类被模仿:
public final class MyClass {
// class implementation
}
public class MyClass {
public final void myMethod() {
// method implementation
}
}
mockito.mock-maker
属性为disabled
,可以禁用模仿功能。例如:import org.mockito.MockitoSettings;
import org.mockito.MockSettings;
import org.mockito.junit.MockitoJUnitRunner;
import org.mockito.quality.Strictness;
@MockitoSettings(strictness = Strictness.LENIENT)
public class MyTest {
// test cases
}
doCallRealMethod()
方法来调用原始方法。例如:public class MyClass {
public String myMethod() {
return "Real implementation";
}
}
public class MyTest {
@Test
public void testMyMethod() {
MyClass myObject = new MyClass();
MyClass spyObject = Mockito.spy(myObject);
Mockito.doCallRealMethod().when(spyObject).myMethod();
String result = spyObject.myMethod();
assertEquals("Real implementation", result);
}
}
这些方法可以帮助防止mockito 3.x中的类被模仿。请注意,以上方法只是一些常见的防止模仿的方式,具体的应用场景和选择方法还需要根据实际情况进行评估和决策。
腾讯云相关产品和产品介绍链接地址:
云+社区技术沙龙[第17期]
原引擎 | 场景实战系列
“中小企业”在线学堂
腾讯技术创作特训营第二季第2期
云+社区技术沙龙[第3期]
"中小企业”在线学堂
开箱吧腾讯云
腾讯位置服务技术沙龙
领取专属 10元无门槛券
手把手带您无忧上云