RSpec2不包含have_tag
測試助手。使用webrat的have_tag
或have_selector
代替是不可能的,因爲Webrat和Rails 3還不兼容。有沒有辦法寫出有用的RSpec視圖測試?可以使用assert_select
而不是have_tag
,但可以使用Test::Unit
首先進行測試。或者不再推薦編寫RSpec視圖測試,因爲與Capybara或黃瓜的集成測試更好?RSpec使用Rails3和RSpec2查看測試
0
A
回答
0
Webrat造成了太多的麻煩,也可以使用RSpec的Capybara。水豚DSL(具有功能has_selector?
,has_content?
等)可用於以下RSpec測試:spec/requests
,spec/acceptance
或spec/integration
。
如果使用水豚(〜> 1.0.1)的最新版本 - 舊版本一樣0.4.0將不支持這一點 - 並添加以下行到spec_helper.rb
文件
require "capybara/rspec"
require "capybara/rails"
那麼你可以寫例如下面的RSpec請求測試
require 'spec_helper'
describe "Posts" do
describe "GET /blog" do
it "should get blog posts" do
get blog_path
response.status.should be(200)
response.body.should have_selector "div#blog_header"
response.body.should have_selector "div#blog_posts"
end
end
end
1
實際上,Webrat與Rails 3一起工作。我測試了這個,並且我能夠使用have_selector匹配器(has_tag沒有工作)。
你可以看看這個Google group discussion。基本上,你不需要在webrat自述中提及的Webrat.configure塊,並按照郵件列表的解決方案,在您的spec_helper.rb加上這些行:
include Webrat::Methods
include Webrat::Matchers
正如你所看到的,Webrat並非如此更新了,所以是的,你可能會更好地使用Cucumber(+ Capybara)進行集成測試。
相關問題
- 1. Rspec - 查看測試和html_safe
- 2. 如何測試accepts_nested_attributes_for使用RSpec Rails3中
- 3. RSpec + Factory_Girl查看測試
- 4. RSpec的查看測試和content_for:標題
- 5. 自動測試-4.4.6/ZenTest-4.4.1與Rspec2和Rails3分開
- 6. 如何使用Devise和rspec來測試Rails3引擎
- 7. rails3-jquery-autocomplete:如何使用RSpec和Capybara進行測試?
- 8. 在佈局視圖規範(rspec2,rails3)中測試flash通知
- 9. 測試慘慘的看法使用RSpec
- 10. RSpec查看測試:如何修改params?
- 11. Rails3中+ rspec2 + factorygirl協會
- 12. Rspec2 Rails3耙規格失敗
- 13. 使用rspec測試rails3中資源的成員路由
- 14. Rspec和Rails查看測試和嵌套資源
- 15. 測試使用RSpec
- 16. 測試使用RSpec
- 17. 測試使用RSpec
- 18. RSpec2錯誤代碼測試
- 19. 測試嵌套的命名空間的控制器使用RSpec 2和Rails3中
- 20. 使用rspec2和Nokogiri進行單元測試
- 21. 用於測試使用RSpec
- 22. 使用RSpec和rails測試「HTML fixtures」
- 23. 使用Rails進行AutoTest和Rspec測試
- 24. 使用Rspec測試和嘲笑服務
- 25. 使用Mongoid和rspec測試named_scope
- 26. 使用RSpec,should_receive和create來測試setter?
- 27. 如何使用rspec和capybara測試best_in_place
- 28. 使用RSpec和Factory Girl測試before_save
- 29. 使用RSpec和VCR測試Web API
- 30. rspec2路由錯誤索引頁[Rails3中,Rspec2]
它只適用於那裏提到的版本,'> = 0.7.2.pre',::git =>'http://github.com/kalv/ webrat.git'? – 0x4a6f4672
@ 0x4a6f4672,我沒有注意到在他們之前的討論中,所以我只是使用了webrat的常規風格。我基本上只是在我的Gemfile中添加了'gem'webrat''。 – mikong