java - 如何将传递给 Class<T> 参数的 null 与 Mockito 匹配

标签 java unit-testing mocking mockito

我有这样的方法:

public <T> method(String s, Class<T> t) {...}

在为其他参数使用匹配器时,我需要检查 null 是否传递给第二个参数,我一直在这样做:

@SuppressWarnings("unchecked")
verify(client).method(eq("String"), any(Class.class));

但是有没有更好的方法(没有抑制警告)? T 代表一些其他方法的返回类型,有时是 void 并且在这些情况下 null 被传入。

最佳答案

Mockito 有一个 isNull matcher ,您可以在其中传入类的名称。所以如果你需要和其他匹配器一起使用,正确的做法是

verify(client).method(eq("String"),isNull(Class<?>.class));

现在已弃用,请参阅下面的答案以了解新方法 - https://stackoverflow.com/a/41250852/1348

关于java - 如何将传递给 Class<T> 参数的 null 与 Mockito 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12707609/

相关文章:

java - 类似于 split() 的东西?

使用Google Mock进行C++高性能单元测试?

hibernate - 域类的Grails单元测试(Gorm)

java - Java 中的模拟对象是什么?

java - 如何为这个 xml 创建一个 dtd?

java - OpenNLP 有词干分析器吗?

unit-testing - Outlook 收件人测试 : always succeed/always bounce

java - 使用 Mockito 控制方法输出

java - 签名的 Java 小程序在 Safari 中未获得权限

python - UnitTest Python 仅模拟一个函数多次调用