unit-testing - 如何模拟同一类的方法?
问题描述
在测试方法中,有相同类的方法。如何模拟同一类的方法?
一个例子如下。
我正在测试方法2。它涉及同一类中的method1。如何模拟这个方法1?
public class A
{
public void method1(int a, int b){
}
public void method2(){
int value = method1(10,20);
}
}
解决方案
您可以使用Spy来执行此操作,并结合使用doReturn
您要为其提供预设行为的方法。有很多关于如何使用间谍的示例。查看这些教程和文档:
- Mockito:在使用@InjectMocks 时模拟被测试方法调用的同一类的方法
- https://www.baeldung.com/mockito-spy
- Mockito:试图监视方法正在调用原始方法
例子:
List list = new LinkedList();
List spy = spy(list);
//Use doReturn to change the behavior of a method call
doReturn("foo").when(spy).get(0);
推荐阅读
- google-cloud-platform - Google Cloud Functions - 多区域设置
- excel - What range should i do?
- node.js - 设置 QUnit 测试 Kotlin - 未找到依赖项“kotlin-test”
- java - 我的 JAVA 代码中可能有哪些隐藏字符?
- php - 从数组循环创建的 PHP 常量
- ios - 使 UITableViewCell 的内容视图覆盖附件视图
- mysql - 即使查询返回结果,MySQL Count 也不起作用
- javascript - 文本覆盖模态 X 按钮
- html - 如何在 UltraEdit 中将 CSS 链接到 HTML?
- android - Android 崩溃 com.google.android.gms.common.api.internal.TaskUtil.setResultOrApiException