考虑一个方法签名,例如:
public String myFunction(String abc);
Mockito 能否帮助返回方法收到的相同字符串?
原文由 Abhijeet Kashnia 发布,翻译遵循 CC BY-SA 4.0 许可协议
考虑一个方法签名,例如:
public String myFunction(String abc);
Mockito 能否帮助返回方法收到的相同字符串?
原文由 Abhijeet Kashnia 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你有 Mockito 1.9.5 或更高版本,有一个新的静态方法可以为你创建 Answer
对象。你需要写类似的东西
import static org.mockito.Mockito.when;
import static org.mockito.AdditionalAnswers.returnsFirstArg;
when(myMock.myFunction(anyString())).then(returnsFirstArg());
或者
doAnswer(returnsFirstArg()).when(myMock).myFunction(anyString());
请注意, returnsFirstArg()
方法在 AdditionalAnswers
类中是静态的,这是Mockito 1.9.5的新功能;所以你需要正确的静态导入。
原文由 Dawood ibn Kareem 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
3 回答1.7k 阅读✓ 已解决
自 Mockito 1.9.5+ 和 Java 8+
您可以使用 lambda 表达式,例如:
对于旧版本
您可以在 Mockito 中创建一个答案。假设我们有一个名为 MyInterface 的接口,其方法为 myFunction。
这是带有 Mockito 答案的测试方法: