Spring中如何使用JUNIT测试Async方法?

使用Junit测试Spring中的Service层方法时,
@Async作为Annotation的异步方法应该如何测试?
在JUNIT测试中其直接作为异步执行,但是实际上却是没有执行成功(将rollback置为false数据库中没有持久化,调用了消息推送接口也没有进行推送,所以判断其没有完整执行)

那么在Spring中如何对异步方法进行测试?

阅读 10.4k
1 个回答

http://jinnianshilongnian.iteye.com/blog/1901693
这个blog说的比较详细了,总结下就是:
1、@Aysnc方法无事务时用Future.get()可以在主线程获取到异步线程的结果。
2、@Async有事务时在Spring的test配置文件中去除异步配置让@Async失效当做同步来测。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏