2012-05-07 61 views
2

我正在開發一個由兩個不同的rails應用程序(服務器和客戶端)組成的系統,它們通過其餘的web服務進行通信。兩個rails應用程序之間的測試集成

我已經爲每個應用程序單獨進行了測試,但是我想爲兩個平臺之間的集成添加一些測試,以聲明創建了一個與其他人期望的請求兼容的請求。

任何提示將不勝感激。

+0

難道你不能部署你的服務器(甚至是本地的)併爲客戶端的集成模塊編寫規範,讓它碰到真實的東西嗎? –

+0

我可以在本地運行它們,但我想以自動方式執行它,並且不知道如何執行服務器的設置/啓動/停止(如果我從客戶端應用程序運行測試)。 – alberto

+0

我都沒有。但是你真的需要自動啓動/關閉嗎?您可以輕鬆地自行啓動它,然後將其視爲外部依賴項。 –

回答

1

我有一個類似的體系結構,我們正在使用錄像機,以記錄所有服務器端的迴應,並始終避免提出請求。它可能會變得煩人,現在我正在尋找一種方法來清除每個請求後從服務器的數據

我認爲VCR可能是一個很好的起點,以測試您的應用程序之間的整合。

你可以在這裏找到文檔 - >Relish Docs

0

我想可能有幾種方法在這裏,這取決於您已實現的..

  1. 如果客戶端的Rails應用程序具有用戶界面,嘗試編寫Selenium tests以在本地開發環境或已部署的臨時環境中執行集成測試。 (如果接口仍然是一個原型,並不理想,請經常更改...)

  2. 也許客戶端的一部分可以寫成Ruby gem(例如通信rest API是ruby gem)。當測試環境中的服務器應用程序時,服務器Rails應用程序可以使用客戶端gem來運行集成測試,即調用模塊功能,客戶端會使用相同的功能。客戶端Rails應用程序也可以使用gem向服務器發送請求。 Here's a good guide開始將一些可重用代碼遷移到rubygem。

相關問題