我有一個應用程序,它使用ExecutorService創建多個線程&異步執行某些操作。Java執行服務集成測試
for (final Product product : products) {
executorService.submit(new Runnable() {
@Override
public void run() {
updateFewAttributes(product);
}
});
}
我正在嘗試編寫一個集成測試來驗證操作是否已正確執行。 由於操作是異步的,因此很難斷言預期的屬性。
試圖在asserting之前做awaitTermination,但這似乎不起作用。
executorService.awaitTermination(3, TimeUnit.MINUTES);
我認爲你必須在'awaitTermination'之前調用'shutdown'' – Thilo