参考案例:https://stackoverflow.com/questions/631598/how-to-use-junit-to-test-asynchronous-processes
通过注解@Async的异步方法,在Junit5测试时,数据一直保存不到mongodb数据库中
@Async
public CompletableFuture<Integer> addUsers(List<User> users) {
Collection<User> result = mongoTemplate.insertAll(users);
return CompletableFuture.completedFuture(result.size());
}
@Async
public CompletableFuture<Boolean> saveUser(User user) {
User result = mongoTemplate.save(user);
return CompletableFuture.completedFuture(result != null);
}
原测试方法
@Test
void testAddUsers() {
List<User> users = new ArrayList<>();
users.add(new User(UUID.randomUUID().toString(), "55", "zhangsan", "1234"));