我有一个应用程序,它使用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