有人可以解釋這兩個平臺之間的差異? 都是BDD的一部分,但爲什麼我應該同時使用一個或其他,或兩者? 感謝您的回答黃瓜vs水豚
Q
黃瓜vs水豚
40
A
回答
5
cucumbercucumber是一款BDD工具,它以業務可讀的領域特定語言表達測試場景。
capybara是ROR應用程序的自動化測試工具(經常使用)。
在capybara github頁面上,有一個using capybara with cucumber的例子。
4
黃瓜是一種通用的BDD工具。它對Web應用程序一無所知。所以黃瓜步驟定義稱Capybara爲了測試網絡應用程序。
86
水豚是一種工具,可以像人類一樣與網站進行交互(例如訪問網址,點擊鏈接,在表單中輸入文字並提交)。它用於模擬用戶通過網站的流量。隨着水豚你可以寫這樣的事情:
describe "the signup process", :type => :feature do
before :each do
User.make(:email => '[email protected]', :password => 'caplin')
end
it "signs me in" do
visit '/sessions/new'
within("#session") do
fill_in 'Login', :with => '[email protected]'
fill_in 'Password', :with => 'password'
end
click_link 'Sign in'
page.should have_content 'Success'
end
end
黃瓜是寫一個映射到代碼人類可讀的測試工具。有了它,你可以把上面的例子是這樣的:
Scenario: Signup process
Given a user exists with email "[email protected]" and password "caplin"
When I try to login with "[email protected]" and "caplin"
Then I should be logged in successfully
的幾乎純文本的解釋是通過各地非開發人員有用的,但還需要映射到其實際工作的一些代碼(步驟定義)。
通常,如果您正在測試網站並使用Cucumber,如果您需要與非開發人員共享這些測試,您將使用Capybara。這兩個條件是獨立的,所以你可以使用一個沒有其他或兩個或沒有。
PS:在代碼片段中還有一些RSpec。這是需要的,因爲黃瓜或水豚本身不能測試的東西。他們依靠RSpec,Test :: Unit或minitest來完成實際的「通過或失敗」工作。
相關問題
- 1. 黃瓜,水豚和ElementNotFound
- 2. 表訂購黃瓜水豚
- 3. 黃瓜/水豚對硒?
- 4. 水豚黃瓜匹配器
- 5. 導軌,黃瓜,水豚 - 黃瓜一步不能按下按鈕
- 6. 黃瓜+水豚+硒:選擇文本
- 7. 泛化黃瓜/水豚測試
- 8. 使用黃瓜/水豚測試ActiveMerchant
- 9. 水豚黃瓜超時使用Rails 5.0.1
- 10. 黃瓜,水豚和硒隨機工作
- 11. 黃瓜/水豚找到()不重試
- 12. 水豚/黃瓜找不到收音機
- 13. 超時::錯誤與硒/水豚/黃瓜
- 14. 水豚&黃瓜|獲取餅乾
- 15. 水豚黃瓜查找字段
- 16. 軌,黃瓜,水豚:會話不持久
- 17. 如何找到用黃瓜水豚
- 18. 點擊鏈接使用水豚/黃瓜
- 19. 黃瓜/水豚場景使用引號
- 20. 黃瓜/水豚表中的變量
- 21. 黃瓜/水豚/硒中的Ajax請求?
- 22. 值不被編輯。黃瓜+水豚
- 23. 點擊圖片使用黃瓜水豚
- 24. 黃瓜vs Junit
- 25. 確定鏈接是否存在w黃瓜/水豚
- 26. 鏈接不觸發通過黃瓜,水豚
- 27. 紅寶石軌道︰黃瓜瓦特/水豚去applicationController on redirect_to
- 28. 黃瓜,水豚和硒 - 提交表單沒有按鈕
- 29. 黃瓜/水豚返回'未找到'頁面後重定向
- 30. 使用Rails丟失會話/黃瓜/水豚
水豚不是特定於ROR,它可以用來測試用任何語言編寫的網絡應用程序。 – 2013-10-18 10:46:12