2015-12-02 12 views
0

Image我如何接取價值迴歸「thenReturn」 mokito方法

我如何進入模擬的返回值?問題在於測試效率不高。要使用的條款是veirifcar。

應該返回null或非null。這種方式是不正確的,因爲它總是返回對象。

valor3 = Mockito.when(refinariaProvider.buscarRefinariaPadrao("LUBNOR")).thenAnswer(new Answer(){ 
      @Override 
      public Object answer(InvocationOnMock invocation) { 
       Object[] args = invocation.getArguments(); 
       return Arrays.toString(args); 
      } 
     }); 

     // valor3.getMock()? 
+0

我不明白。你告訴調用'searchClassProviderEx(null)'返回'null'。它會返回'null'。 –

+0

什麼是真正的問題?你會怎樣做?一般來說null爲空 – Gaskoin

+0

當你說測試效率不高時,你的意思是什麼?測試代碼通常不是使用mock進行高效處理的目標。 – sisyphus

回答

0

您可以返回回答的Mockito可用於返回取決於ARGS []searchClassProviderEx方法被調用用不同的值。

value2 = Mockito.when (classProvider.searchClassProviderEx (anyString())) thenAnswer(new Answer() { 
    Object answer(InvocationOnMock invocation) { 
     Object[] args = invocation.getArguments(); 
     Object mock = invocation.getMock(); 
     return "called with arguments: " + args; 
    } 
}); 
//Following prints "called with arguments: hello" 
System.out.println(classProvider.searchClassProviderEx("hello")); 
+0

謝謝。請。看看我的更新 –