2012-09-20 75 views
1

我無法弄清楚什麼是不對的嘲諷,希望有人能幫助:用的Mockito枚舉參數不工作

我有一個枚舉,MyEnum被用來作爲參數傳遞給一個方法,我想嘲笑。嘲諷看起來有點像這樣:

when(myMockedObject.getMethod(MyEnum.XYZ)).thenReturn(myMockedValue); 

和實際執行代碼看起來是這樣的:

MyMockedValue theMockedValue = myMockedObject.getMethod(MyEnum.XYZ); 

我期待theMockedValue等於myMockedValue。但是,模擬不起作用,並且MockedValue始終爲空。這有什麼問題?

+0

這應該工作。你能展示更多的代碼(枚舉,測試,測試)? – Brice

+0

@Brice - 我經常發現問題歸咎於我的狡猾代碼!嘲笑確實奏效,正如你所建議的那樣。問題是我的測試中有一個錯誤,我有兩個mocked的myMockedObject實例。我設置一個返回一個模擬值,然後錯誤地使用另一個代碼。一旦重複的模擬被刪除,它一切正常。感謝您的努力。 – DaveRlz

回答

0

這是我自己狡猾的代碼。我發現了一個重複的模擬對象,其中一個實例涉及模擬,另一個正在代碼中使用,導致返回空值。

正如我以爲我失去了與mockito的戰鬥,現在我意識到我明白髮生了什麼事情。