我在某些單元測試中使用了PowerMockito,並且遇到了問題。我試圖測試一個創建一系列線程並運行它們的方法。在每個線程內部,我需要創建一個對象,並返回自己的模擬對象(它使http請求等)。在使用PowerMockito.whenNew(...)
之前,我已經完成了這個工作,並且它工作正常,但是這似乎不起作用 - PowerMockito在線程中不工作嗎?我一直無法找到像這樣的任何其他問題或有關情況的文件。Powermockito預期的對象創建不能在預期線程中工作
一些示例代碼來幫助你想象:
for(Object object : objectList) {
Thread t = new Thread(new Runnable() {
public void run() {
SomeObject objectImTryingToStub = new SomeObject();
}
});
}
我使用嘗試創建對象的代碼和捕捉:
SomeObject mockSomeObject = mock(SomeObject.class);
PowerMockito.whenNew(SomeObject.class).withNoArguments().thenReturn(mockSomeObject);
此相同的代碼已經爲其他的測試中表現優良在同一個班級裏,他們以相同的方式成功地抓住了同一類型的對象。
任何幫助表示讚賞!謝謝
太棒了,非常感謝! – radar