方法时mockito出错



我只是试图存根该方法,但得到了null指针异常。我有点茫然。

我的方法:

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

Stub是:

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

我认为mocking但是抛出nullpointer异常并没有错。

知道这里发生了什么吗?

删除对(MockHttpServletRequest)(boolean)的强制转换,使其看起来像这个

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

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

根据anyBoolean API,它将返回false,因此不需要强制转换。

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

例如:

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

相关内容

  • 没有找到相关文章