java如何本地测试completableFuture
时间: 2024-03-27 15:40:12 浏览: 20
要本地测试CompletableFuture,您可以使用JUnit或其他测试框架编写单元测试。下面是一个简单的示例,演示如何使用CompletableFuture执行异步任务并在完成后进行处理:
```java
import org.junit.Test;
import java.util.concurrent.CompletableFuture;
import static org.junit.Assert.assertEquals;
public class CompletableFutureTest {
@Test
public void testCompletableFuture() {
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
// 模拟一个耗时的异步任务
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Hello";
});
// 当异步任务执行完成后,执行thenAccept()方法中的回调函数
future.thenAccept(result -> {
assertEquals("Hello", result);
});
}
}
```
在这个例子中,我们使用CompletableFuture.supplyAsync()方法创建一个新的CompletableFuture对象,该对象表示一个异步计算,并使用lambda表达式定义异步任务。然后,我们调用thenAccept()方法,该方法接受一个回调函数,该函数将在异步任务完成后执行,并用来检查结果是否正确。
注意,我们需要在异步任务中模拟一些耗时的操作,以便我们可以看到异步任务和回调函数的执行顺序。在实际的应用中,异步任务可能是一个网络请求、数据库查询或其他需要时间才能完成的操作。