現在我使用rspec進行測試。到rspec的運行所有我需要做的就是:如何運行黃瓜和RSPEC?
耙規範
我現在想用黃瓜寫爲確保這些路徑登錄測試,並制定& Omniauth正確註冊工作。
要使用黃瓜我需要在/ features中編寫測試嗎?
這是否意味着測試我需要運行
rake spec
然後所以現在我有運行兩個測試框架運行另一個命令
cucumber
?
謝謝
現在我使用rspec進行測試。到rspec的運行所有我需要做的就是:如何運行黃瓜和RSPEC?
耙規範
我現在想用黃瓜寫爲確保這些路徑登錄測試,並制定& Omniauth正確註冊工作。
要使用黃瓜我需要在/ features中編寫測試嗎?
這是否意味着測試我需要運行
rake spec
然後所以現在我有運行兩個測試框架運行另一個命令
cucumber
?
謝謝
是的。一個是單元測試框架,另一個是高級驗收測試。如果你正在尋找集成測試而不是驗收測試(聽起來像是這樣),那麼帶rspec的普通水豚可能會更適合(https://github.com/jnicklas/capybara,scroll降至水豚+ rspec)
是的,這是正確的。一般來說,我使用Rspec進行單元測試,並使用黃瓜進行整合。如果您發現RSpec爲您覆蓋了集成測試,並且您不需要編寫黃瓜功能以與客戶或系統分析師一起指定應用程序,那麼黃瓜可能不適合您。就我個人而言,我喜歡黃瓜如何用於集成測試。它感覺非常可重用,並且很容易理解測試中發生了什麼。
爲了解決您關於運行2個命令的特殊性,每當您更改規範代碼或程序代碼時,運行自動測試以自動運行測試,無需使用rake命令。
https://github.com/dchelimsky/rspec/wiki/Autotest-Integration
如果用黃瓜運行AUTOFEATURE=true autotest
將按順序運行RSpec的測試和黃瓜規格
https://github.com/cucumber/cucumber/wiki/Autotest-Integration
自動測試有很大的作用,因爲它運行的全規格的套房,但是,如果任何測試都會失敗,只會在測試通過之前重新運行測試,然後再次重新運行整個測試。它也有隨機的測試訂單的附加值,這樣可以確保測試是在隔離
從http://blog.andywaite.com/2013/02/28/rakefile-cucumber-rspec-jasmine/
Rake文件改編有效:
require 'rspec/core/rake_task'
require 'cucumber/rake/task'
RSpec::Core::RakeTask.new
Cucumber::Rake::Task.new
task :default => [:spec, :cucumber]
但我更喜歡guard自動運行測試。
海事組織這應該是被接受的答案。 – thekingoftruth
謝謝謝謝謝謝! – AnApprentice