2013-10-22 32 views
7

我正處於爲現有應用程序集成黃瓜測試的階段。該應用程序與後端嚴重交互。最簡單的情況是用戶註冊。如何在運行葫蘆測試時模擬後端交互

爲了使測試可重複,我不能違背(真實)後端(出於多種原因,一個用戶不能使用相同的電子郵件註冊兩個用戶)。

我想知道哪些選項可以嘲笑後端行爲並提供嘲諷的響應。對於單元測試,我知道Nocilla和其他幾個框架。集成它們當然不適用於葫蘆測試。

另一種方法是讓一個真正的服務器運行,我將從葫蘆測試控制網絡。但這似乎有點矯枉過正。另一種選擇是在葫蘆目標中模擬對象,我可以通過calabash backdoor機制來控制它。

我懷疑這不是唯一的選擇。所以我的問題是:是否有一個更優雅的方式來做到這一點?

+0

您可以嘗試使用已知前綴自動生成的用戶電子郵件來註冊新用戶。並且,只要您需要,您可以使用該前綴進行搜索,並立即從服務器中刪除所有內容。 –

+0

這不僅是關於電子郵件,而是關於取決於某個狀態的每個後端交互。但是現在我們使用了一個小型的Sinatra服務器,它的響應可以通過從葫蘆步驟定義中發送PUT請求來配置。 – mAu

回答

3

因爲我到今天才收到其他反饋,所以我會回答我自己的問題。

我們選擇了爲我們的後端創建一個非常簡單的模擬的方式。我們使用Sinatra,但是node.js或類似的技術會導致相同的結果。模擬可以通過簡單的REST API進行控制。

在步驟定義中,我們爲運行場景適當地配置了我們的模擬後端。這是一個開銷,因爲模擬必須隨着真正的後端發展,但直到今天,它感覺像一個強大的解決方案。

+3

你可以請進一步瞭解你是如何做到這一點的?您是否修改了您的應用指向您的測試目標的基本URL?您是否使用某種代理來重定向流量?我絕對把我的頭髮拉出來試圖找出這些東西。 – s73v3r

相關問題