方法时mockito出错

时间:2012-07-30 16:51:43

标签: junit4 mockito

我只是试图将该方法存根,但获得空指针异常。我有点空白这里发生了什么。

我的方法:

OauthStatus validate(HttpServletRequest request, 
            boolean accessTokenRequired) throws OauthProviderException;

和Stub是:

Mockito.when(oauthProviderMock.validate((MockHttpServletRequest) Mockito.anyObject(), (boolean)Mockito.anyBoolean())).
                thenReturn(new OauthStatus());

我发现在模拟中没有错,但抛出了nullpointer异常。

知道这里发生了什么吗?

2 个答案:

答案 0 :(得分:0)

将您的演员表移至(MockHttpServletRequest)(boolean),使其看起来像这样

Mockito.when(oauthProviderMock.validate(Mockito.any(HttpServletRequest.class), Mockito.anyBoolean())).
        thenReturn(new OauthStatus());

根据anyObject API,它会返回null,因此您可能会在此处看到NPE

根据anyBoolean API,它会返回false,因此不需要投射。

答案 1 :(得分:-2)

解决方法是通过使用匿名类而不是Mockito以编程方式模拟方法。

例如:

  oauthProvider = new OauthProvider(){

      validate( HttpServletRequest req, boolean flag) throws Exception{
           throw new RuntimeException();
       }

 };