bla*_*ank 76 java unit-testing mocking mockito
我有这样的方法:
public <T> method(String s, Class<T> t) {...}
Run Code Online (Sandbox Code Playgroud)
null当我对其他参数使用匹配器时,我需要检查是否传递给第二个参数,我一直这样做:
@SuppressWarnings("unchecked")
verify(client).method(eq("String"), any(Class.class));
Run Code Online (Sandbox Code Playgroud)
但是有没有更好的方法(没有压制警告)?T表示某些其他方法的返回类型,有时void在这些情况下null传入.
Daw*_*ica 142
Mockito有一个isNull匹配器,您可以在其中传递该类的名称.因此,如果您需要将其与其他匹配器一起使用,那么正确的做法是
verify(client).method(eq("String"),isNull(Class<?>.class));
Run Code Online (Sandbox Code Playgroud)
现在已弃用,请参阅以下有关新方法的答案 - /sf/answers/2887559671/
mik*_*ent 29
David Wallace的回复更新:
截至2016-12,Java 8和Mockito 2.3,
public static <T> T isNull(Class<T> clazz)
Run Code Online (Sandbox Code Playgroud)
已弃用,将在Mockito 3.0中删除
使用
public static <T> T isNull()
Run Code Online (Sandbox Code Playgroud)
代替
小智 19
这对我有用:
verify(client).method(eq("String"), eq((Class<?>) null));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
62957 次 |
| 最近记录: |