a.h*_*die 1 java junit mocking mockito
我正在尝试模拟应用程序的Main类中包含的方法.我想测试一下,当所有参数都成功提交后,应用程序会调用正确的方法uploadFiles.when - thenReturn对如下所示:
NrClient nrClient = (NrClient)Mockito.mock(NrClient.class);
Mockito.when(nrClient.uploadFiles("DF49ACBC8", anyList(), "dl")).thenReturn("");
Run Code Online (Sandbox Code Playgroud)
这显示为运行时异常:"方法anyString()未定义为MainTest类型." 我有进口:
import org.mockito.Mockito;
import org.mockito.Matchers;
Run Code Online (Sandbox Code Playgroud)
那么为什么这个方法不确定呢?我的实施中是否存在问题?
我也尝试过具有相同结果的anyString()和anyInt().
您应该将它作为编译时错误,而不是异常(除非实际的异常是您有一个未解决的编译时错误).
只需导入org.mockito.Matchers
意味着您可以使用该名称Matchers
来表示org.mockito.Matchers
类中的任何位置.如果要导入方法,则需要静态通配符导入:
import static org.mockito.Matchers.*;
Run Code Online (Sandbox Code Playgroud)
或具体方法:
import static org.mockito.Matchers.anyString;
import static org.mockito.Matchers.anyList;
Run Code Online (Sandbox Code Playgroud)
或者您可以在调用代码中限定方法名称:
Mockito.when(nrClient.uploadFiles("DF49ACBC8", Matchers.anyList(), "dl"))
.thenReturn("");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8285 次 |
最近记录: |