JUnit测试异步方法问题

本文探讨了在使用JUnit5测试带有@Async注解的异步方法时遇到的问题,描述了如何在测试过程中确保数据能正确保存到MongoDB数据库。原始测试方法未能成功保存数据,但在修改测试方法后,数据成功写入数据库。
摘要由CSDN通过智能技术生成

参考案例: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"));
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值