异步消息测试

问题描述:

以下是我在异步测试方面面临的问题。问题陈述如下异步消息测试

我得到了一批具有多个候选数据的xml。我们做了一些验证,并将每个候选人的这个大xml分成多个xml。每一个xml都被保存到文件结构化数据库,其中包含唯一标识符。为持久保存到数据库的每条消息生成一个唯一标识符。这些唯一标识符中的每一个都被寄存到队列以供订阅。

我正在开发自动化测试框架。我正在寻找一种方法让测试类知道数据处理中的下一步已经订阅了唯一的标识符。

我已阅读有关上述问题的信息。其中大部分指定线程睡眠和定时器。问题会发生在我们运行大量测试用例时,需要花费大量的时间。

已阅读等待。对此有一些希望。任何想法和任何人都面临类似的情况。请帮忙。

感谢 DevAutotester

你可以使用Awaitility等到所有的ID在DB或队列存在(如果我理解正确的话),然后继续做以后验证。您将不得不为供应商提供Awaitility,以检查是否存在所有ID。然后等待将等待这个陈述是真实的。

/约翰

+0

请问awaitility保持线程睡眠的时间规定的量,或者它具有灵活性,立即只要等待语句变成真正的开始?我所要问的原因是我们可能要运行100多个测试用例,保持等待会影响测试执行时间。如果等待一旦它发现声明是真的就停止,那么它会有帮助。能否请你确认? – DevAutotester

+1

它使用轮询,因此当语句返回true时它不会停止_exactly_。您可以配置轮询间隔和初始轮询延迟(请参阅http://code.google.com/p/awaitility/wiki/Usage页面)。默认情况下轮询间隔为100毫秒,所以如果你真的不走运,你可能会在每次测试中失去100毫秒。 – Johan