Ser*_*rge 0 java junit mockito
我正在Junit测试一个类,并且不得不创建一些Mockito模拟对象。我感兴趣的代码行是
Mockito.when(emailer.sendEmail(INPUT GOES HERE)).thenReturn(true);
Run Code Online (Sandbox Code Playgroud)
emailer的sendEmail()方法有两个参数,我不确定它们是什么。是否有某种通配符可用于替换参数而不知道它们将是什么?
如问题评论中所述。
Matchers.any(ClassName.class),这通常是您想要的。在Mockito 1.x中,它代表任何对象,而不管其类型如何,但是通过接收一个类,它通常可以避免进行强制转换。(根据贡献的Mockito 布赖斯在SO 评论,这种行为将在2的Mockito及以后的变化,大概是为了表现更像isA是any(MyClass.class)在英语建议。)Matchers.any(),这通常需要强制转换,对于图元不是一个好主意。Matchers.anyInt()或Matchers.anyShort()(等),这对于基元很有用。Matchers.anyString(),因为字符串是常见的用例。由于可Mockito扩展Matchers,这些方法大多数将在上可用Mockito,但是某些IDE难以在子类之间找到静态方法。您可以使用找到所有它们import static org.mockito.Matchers.*;。
在org.mockito.Matchers文档中了解有关所有可用匹配器的更多信息。
如果您遇到麻烦,或者想了解更多有关这些通配符如何在表面下工作的信息,请在此处阅读更多内容。
| 归档时间: |
|
| 查看次数: |
156 次 |
| 最近记录: |