2015-03-13 64 views
1

我有靜態類。我正在爲使用Junit和Mockito的靜態方法之一編寫JUnit。在該方法中,調用其他類級別的靜態變量的函數。我想嘲笑這個函數調用。我的代碼如下,是否有可能在靜態類中注入模仿

class ABC { 
    public static SomeVariable var; 

    public static Value getSomething() { 
     try { 
      Value val = var.getValue(); 
     } 
     catch (Probable exceptions) { //Handle exceptions } 
     } 
    } 
} 

JUnit中我寫了下面的注入模擬,

@Mock 
SomeVariable var; 

@InjectMocks 
ABC abcTest; 

Mockito.when(var.getValue()).thenReturn(somevalue); //Getting compilation error here 
abcTest.getSomething(); 

雖然嘲諷var.getValue()我得到錯誤爲「未處理的異常類型」 請建議我如何解決這個問題。

+0

你可以仔細檢查你的示例代碼;它有問題,但你在評論中提到的編譯錯誤不是其中之一 – beresfordt 2015-03-13 07:54:53

回答

0

我也一直在努力嘗試嘲笑靜態方法。我沒有直接解決這個問題,因爲我以不同的方式解決了這個問題。我刪除了靜態部分,因爲當我編寫測試時它導致了很多問題。

但我的建議是看PowerMock嘲笑靜態方法。 也許這對你的情況很有意思。

相關問題