如何使用JUnit测试触发异步流程的方法?
我不知道如何让我的测试等待过程结束(它不完全是单元测试,它更像是集成测试,因为它涉及多个类,而不只是一个类)。
发布于 2010-07-22 04:40:52
您可以尝试使用Awaitility库。它使得测试您正在谈论的系统变得很容易。
发布于 2014-05-22 22:14:26
如果使用CompletableFuture (在Java8中引入)或SettableFuture (来自Google Guava),则可以在测试完成时立即完成测试,而不是等待预先设置的时间。您的测试将如下所示:
CompletableFuture<String> future = new CompletableFuture<>();
executorService.submit(new Runnable() {
@Override
public void run() {
future.complete("Hello World!");
}
});
assertEquals("Hello World!", future.get());
发布于 2009-03-10 18:12:50
启动该进程,并使用Future
等待结果。
https://stackoverflow.com/questions/631598
复制相似问题