Mockito:匹配除一个以外的任何字符串
Mockito: Match any String except one
我如何使用 Mockito 编写匹配除特定字符串以外的任何字符串的匹配器?
我已经尝试使用一些 hamcrest 匹配器来否定和组合其他匹配器,但是 hamcrest 匹配器所有 return 类型 Matcher<T>
的值都不能很好地与 Mockito 匹配器一起工作。
我使用的解决方案:
import static org.hamcrest.CoreMatchers.not;
import static org.mockito.ArgumentMatchers.argThat;
// ...
argThat(not("ExceptionString"))
版本
只要指出 Mockito
你也可以使用 AdditionalMatchers and ArgumentMatchers
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
中有更多信息
希望对您有所帮助
我如何使用 Mockito 编写匹配除特定字符串以外的任何字符串的匹配器?
我已经尝试使用一些 hamcrest 匹配器来否定和组合其他匹配器,但是 hamcrest 匹配器所有 return 类型 Matcher<T>
的值都不能很好地与 Mockito 匹配器一起工作。
我使用的解决方案:
import static org.hamcrest.CoreMatchers.not;
import static org.mockito.ArgumentMatchers.argThat;
// ...
argThat(not("ExceptionString"))
版本
只要指出 Mockito
你也可以使用 AdditionalMatchers and ArgumentMatchers
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
中有更多信息希望对您有所帮助