java.lang.AssertionError:在Mockito中.如何修复


public void someMethod() throws Exception {
        // null 
        when(request.getParameter("abc")).thenReturn(null);
        try {
            abc.manageIncome(request, response, nancy, null);
            fail();
        } catch(IllegalArgumentException ex) {}
        verify(nancy.manageIncome(request, response, nancy, "abc"));
    }

我得到以下错误:java.lang.AssertionError

如何修复?我正在使用Mockito。

我不能告诉您这是否与您的AssertionError有关,但您滥用了verify方法,该方法(与when不同(应该只包装有问题的mock,而不是整个方法调用。

/* BAD */  verify(nancy.manageIncome(request, response, nancy, "abc"));
/* GOOD */ verify(nancy).manageIncome(request, response, nancy, "abc");

(为什么?基本上,when只在mock上的方法返回后调用,因此mock可以将其未来的存根建立在刚刚发生的调用的基础上。verify需要在mock调用方法之前调用,这样它就不会将验证与测试中系统的实际调用混淆,并根据需要抛出或返回。(

相关内容

  • 没有找到相关文章

最新更新