【发布时间】:2016-09-25 12:09:48
【问题描述】:
您好,我正在为一个程序编写单元测试用例。在那个程序中,我正在测试某种方法,它们就是这种方法:Collections.sort(Arraylist object)。 它是这样的。
public void abc(){
try{
Arraylist<object_class> object=some_method.get(list);
Collections.sort(object);
System.out.print("The whole functon is executing successfully") }
catch(exception e) {
system.out.print("error message") } }
我正在调用的 some_method.get(list)` 方法正在发送一个空列表,因此当 Collections.sort() 被调用时,它会进入 catch 块并且不执行其余代码。 我该怎么做才能在测试用例运行时不调用此 Collections.sort() 方法。
PS- 上面的代码只是为了解释问题,我不能对主类进行更改
在测试类中我尝试使用这种方法
Mockito.doNothing().when(collections.sort(Mockito.anyList()));//这不起作用
所以我尝试了这个 Mockito.doNothing().when(collections.class).sort(Mockito.anyList()); //这也不行
我可以将模拟列表返回给对象,但我想知道是否可以阻止 Collections.sort() 执行。
请帮忙
【问题讨论】:
-
提示:请转到帮助中心并阅读如何在您的问题中正确格式化源代码。例如,您不希望所有
>都在里面!
标签: unit-testing junit mocking mockito