我正在为Amqp消息编写一个Junit测试,Listener.This是如何写测试的。我向一个交换发送一条消息,并引入1s的延迟(假设侦听器将在该时间框架内完成它的工作),.This方法减缓了构建过程,因为这样的测试至少需要20秒才能到达execute.Is,我可以这样做的方法是,一个非阻塞的way.For传递一个调用处理程序,它在侦听器执行job.Something之后验证测试,就像在内部使用Actor一样。
发布于 2014-04-09 20:20:19
虽然不是“非阻塞”单元测试,但您可以使用JUnit工具来创建轮询间隔,以及在中的最大等待时间。对于依赖于异步结果的测试非常有用。
您可以将轮询时间设置为较小的(例如10英里)和最长时间。每隔10毫秒,您的评估某些条件的方法将被触发。它将继续被调用,直到条件返回true,或者达到允许的最大时间。此时,它将抛出一个异常,无法通过单元测试。
http://code.google.com/p/awaitility/
https://stackoverflow.com/questions/22972938
复制相似问题