有人可以解釋這兩個平臺之間的差異? 都是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. 水豚黃瓜匹配器
- 2. 傳遞黃瓜和水豚
- 3. 黃瓜/水豚對硒?
- 4. 黃瓜水豚步功能
- 5. 黃瓜,水豚和ElementNotFound
- 6. 黃瓜/水豚/硒 - 設置
- 7. 黃瓜水豚fill_in失敗
- 8. 表訂購黃瓜水豚
- 9. 導軌,黃瓜,水豚 - 黃瓜一步不能按下按鈕
- 10. 超時::錯誤與硒/水豚/黃瓜
- 11. 水豚/黃瓜找不到收音機
- 12. 黃瓜+水豚+硒:選擇文本
- 13. 水豚黃瓜只有空白頁
- 14. 水豚&黃瓜|獲取餅乾
- 15. 語法錯誤黃瓜+水豚
- 16. 黃瓜/水豚場景使用引號
- 17. 黃瓜/水豚表中的變量
- 18. 軌,黃瓜,水豚:會話不持久
- 19. 黃瓜/水豚測試x標籤
- 20. 水豚和黃瓜CSS定位
- 21. 黃瓜/水豚找到()不重試
- 22. 點擊圖片使用黃瓜水豚
- 23. 使用黃瓜/水豚測試ActiveMerchant
- 24. 黃瓜/水豚undefined方法'訪問'
- 25. 迭代列陣水豚黃瓜
- 26. 運行併發測試黃瓜/水豚
- 27. 黃瓜,水豚和硒隨機工作
- 28. 黃瓜+水豚不執行AJAX請求
- 29. 點擊鏈接使用水豚/黃瓜
- 30. 水豚與黃瓜給假陽性
水豚不是特定於ROR,它可以用來測試用任何語言編寫的網絡應用程序。 – 2013-10-18 10:46:12