java - Mockito:匹配除一个以外的任何字符串

标签 java string junit mockito matcher

<分区>

我如何使用 Mockito 编写一个匹配除特定字符串之外的任何字符串的匹配器?

我已经尝试使用一些 hamcrest 匹配器来否定和组合其他匹配器,但是 hamcrest 匹配器都返回类型为 Matcher<T> 的值。它不能很好地与 Mockito 匹配器一起工作。

最佳答案

只需指出使用 Mockito 您还可以使用 AdditionalMatchersArgumentMatchers

import static org.mockito.AdditionalMatchers.not;
import static org.mockito.ArgumentMatchers.eq;

//anything but not "ejb"    
mock.someMethod(not(eq("ejb")));

根据其文档:

Example of using logical and(), not(), or() matchers:

//anything but not "ejb"
mock.someMethod(not(eq("ejb")));

在这个其他 SO question 中有更多信息

希望对你有帮助

关于java - Mockito:匹配除一个以外的任何字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30107476/

相关文章:

java - Android RecyclerView 固定页脚

java - 如何将 SQL 查询转换为 HQL 查询?

java - 在 1 个 UDP 数据报中发送多个数据

string - 如何在Dart的字符串中乘以两个变量?

arrays - 如何随机播放其中包含空格的文件名数组?

Java Spring - 如何通过 @WithUserDetails 使用 application.properties 中的值

java - 更改 ServletContext 中 ArrayList 中的对象

java - 如何在数组中搜索字符串的一部分?

java - 由于编码问题,Maven 未能通过我的单元测试

java - 不使用带有 Autowire 的构造函数的模拟服务