早上好,我需要做一个测试类使用以下方法:
File[] files = directory.listFiles((dir, name) -> name.startsWith("FILE_500"+date));
为了测试这部分代码,我编写了以下代码:
when(directory.listFiles((dir,name)->name.startsWith("FILE_500"))).thenReturn(files);
但IDE显示“检测到不必要的存根”,因为name.startsWith从未在测试中调用。
我如何测试这部分代码?
此致
1条答案
按热度按时间l2osamch1#
由于您希望在将lambda表达式作为参数传递给listFiles方法时测试该方法的行为,因此可以创建File类的模拟对象,并将其设置为在使用与要测试的条件匹配的lambda表达式调用listFiles方法时返回预期的文件数组。
请参考使用Mockito的示例测试用例: