2014-01-23 50 views

回答

0

您應該用戶PowerMock爲嘲諷A和的的Mockito靜態方法爲B.嘲諷非靜態方法在this recent answer我都:

  • 模擬得到的靜態方法上的AccountManager
  • 模擬getAccounts方法還對客戶經理

更清晰,對於靜態模擬:

  1. 添加@RunWith(PowerMockRunner.class)到您的測試類
  2. 添加@PrepareForTest(的A.class)到您的測試類
  3. 呼叫PowerMockito.mockStatic(AccountManager.class);
  4. 使用時的存根行爲(A.method(any(Param.class)))。thenReturn(value);

對於非靜態模擬:

  1. 添加模擬場@Mock乙的AccountManager;
  2. 在@Before註釋的方法中初始化模仿MockitoAnnotations.initMocks(this);
  3. 存根行爲當(B.method())。thenReturn(value);

可能您需要在A類上配置B對象。在這個例子中,我在get方法中做了這個。在你的情況下,它可能會有所不同,你必須弄清楚如何做到這一點。

問候。

相關問題