mockito - 当anyString不正常时该怎么办

时间:2013-04-09 12:12:50

标签: java junit mockito powermock

我想用PowerMockito / Mockito模拟一个类中的一个静态方法。

我做了'间谍'。

我真的需要doAnswer方法,因为答案是根据函数的参数值定制的。

此外,我做了类似的事情:

doAnswer(...).when(class,methodname, anyString());

这里的丑陋问题 - 抛出异常 - 是因为:

  • 我的方法在使用null / empty string param
  • 调用时抛出异常
  • anyString方法完全返回我不想要的内容:null或空字符串
  • 备注:argThat也返回null。

    这里可以做些什么?:)

    谢谢!

    堆栈跟踪:

    
    
        java.lang.NullPointerException: key can't be null
        at java.lang.System.checkKey(System.java:771)
        at java.lang.System.getProperty(System.java:647)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.powermock.reflect.internal.WhiteboxImpl.performMethodInvocation(WhiteboxImpl.java:2015)
        at org.powermock.reflect.internal.WhiteboxImpl.doInvokeMethod(WhiteboxImpl.java:893)
        at org.powermock.reflect.internal.WhiteboxImpl.invokeMethod(WhiteboxImpl.java:867)
        at org.powermock.reflect.Whitebox.invokeMethod(Whitebox.java:463)
        at org.powermock.api.mockito.internal.expectation.PowerMockitoStubberImpl.when(PowerMockitoStubberImpl.java:105)
    
    

    稍后编辑: 当你给出方法和参数时,这种类型的'when'比我看到的更加僵硬 - 如果我把它放在一起,而不是anyString“a”,那么一切都很好。在'when'中,它被认为是anyString()的结果,它是空的,它会破坏一切....

    0 个答案:

    没有答案