2011-10-27 20 views
1

當涉及到異步回調時,自動化集成測試的最佳方式是什麼?帶回調的集成測試

說例如我有模塊A,當我在該模塊上調用某些東西時,它立即返回一個響應,我可以驗證它作爲我的測試的一部分。但除了即時響應之外,還應在一定時間內(例如5分鐘)發生回調,以提供需要針對測試進行評估的其他信息。

本質上,我想立即對響應執行測試,然後告訴某些測試以期在一定時間內回調並驗證。如果在時間範圍內沒有發生回調,或者回調有意外的響應,則測試將失敗。

是否有持續集成工具或其他工具可用於執行此類測試?

回答

0

我想我有使用詹金斯的解決方案:

  • 運行一大堆的測試,撥打電話,最終將導致一些異步回調。
  • 測試完成後,爲單獨的「回調」作業生成一個延遲N秒(您認爲處理將花費的最長時間)的構建。
  • 回調發生在某個服務器的某個地方,並且它們被延遲的「回調」作業記錄下來供審查。
  • 回調作業運行並驗證記錄的回調。如果日誌中缺少對作業所期望的回調的引用,則可以編寫一個在此情況下將失敗的測試。

這很可能會涉及創建的回調參數化的工作,因爲它需要知道檢查什麼回調日誌在運行時(即檢查回調日誌中等身材90)的累

類此刻,這可能沒有意義 - 但我很樂意澄清是否需要。

0

如果可能,我會修改回調以設置回調時間。在您的測試中,您可以將其設爲1秒,傳入模擬回調並自動驗證是否在正確的時間調用了回調。

+0

對不起,讓我更清楚一點。 「回調」是一個http請求,不是對對象或方法的調用。此外,由於涉及的處理,在回調發生之前所花費的時間量永遠不會被定義,但可以假定在特定的時間範圍內發生(小於5分鐘) –