2011-09-08 111 views
0

以下是我在異步測試方面面臨的問題。問題陳述如下異步消息測試

我得到了一批具有多個候選數據的xml。我們做了一些驗證,並將每個候選人的這個大xml分成多個xml。每一個xml都被保存到文件結構化數據庫,其中包含唯一標識符。爲持久保存到數據庫的每條消息生成一個唯一標識符。這些唯一標識符中的每一個都被寄存到隊列以供訂閱。

我正在開發自動化測試框架。我正在尋找一種方法讓測試類知道數據處理中的下一步已經訂閱了唯一的標識符。

我已閱讀有關上述問題的信息。其中大部分指定線程睡眠和定時器。問題會發生在我們運行大量測試用例時,需要花費大量的時間。

已閱讀等待。對此有一些希望。任何想法和任何人都面臨類似的情況。請幫忙。

感謝 DevAutotester

回答

0

你可以使用Awaitility等到所有的ID在DB或隊列存在(如果我理解正確的話),然後繼續做以後驗證。您將不得不爲供應商提供Awaitility,以檢查是否存在所有ID。然後等待將等待這個陳述是真實的。

/約翰

+0

請問awaitility保持線程睡眠的時間規定的量,或者它具有靈活性,立即只要等待語句變成真正的開始?我所要問的原因是我們可能要運行100多個測試用例,保持等待會影響測試執行時間。如果等待一旦它發現聲明是真的就停止,那麼它會有幫助。能否請你確認? – DevAutotester

+1

它使用輪詢,因此當語句返回true時它不會停止_exactly_。您可以配置輪詢間隔和初始輪詢延遲(請參閱http://code.google.com/p/awaitility/wiki/Usage頁面)。默認情況下輪詢間隔爲100毫秒,所以如果你真的不走運,你可能會在每次測試中失去100毫秒。 – Johan