[英]RSpec 3 undefined method `allow' for #<RSpec::Core::ExampleGroup…>
[英]Capybara Acceptance Tests: undefined method `visit' for #<RSpec::Core::ExampleGroup
我正在將舊的krufty應用程序升級到Rails 3.1。 該公司一直在使用RSpec和Capybara進行驗收測試。 我們已經按照spec/acceptance
驗收進行了一些驗收測試,但失敗,並顯示以下消息:
Failure/Error: get @url
NoMethodError:
undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007feb7c0abf58>
這是其中一個測試的示例(從文件頂部開始):
require_relative 'acceptance_helper'
feature 'Catalog' do
before do
Settings.use_catalog_navigation = true
end
context 'with a Vendor' do
before do
@vendor = create(:vendor, slug: 'abc')
@product = create(:product_with_variants, vendor: @vendor)
@non_vendor_product = create(:product_with_variants)
@invisible_product = create(:product_with_variants,
vendor: @vendor,
visible: false)
@non_available_product = create(:product_with_variants,
vendor: @vendor,
available: false)
@url = "/#{@vendor.slug}"
end
it 'sets @vendor' do # <- FIRST FAILING TEST
get @url
assigns(:vendor).should == @vendor
end
...
在咨詢oracle時,我總是在提到“訪問”方法的問題上絆腳石,例如: https : //github.com/jnicklas/capybara/issues/814
我還不斷遇到與本文相關的帖子: http : //alindeman.github.com/2012/11/11/rspec-rails-and-capybara-2.0-what-you-need-to-know.html
我不確定是否遇到相同的問題。 如果可以使用,我可以發布我的spec_helper.rb
和acceptance_helper.rb
。
我想值得注意的是,這些規格在我更新rspec-rails和capybara之前已經通過。
我的直覺是,也許rspec-rails破壞了capybara的某些方法,或者只是不再加載某些capybara的方法。 這可能是問題嗎?
嘗試在config塊內的spec_helper.rb
添加config.include Capybara::DSL
spec_helper.rb
config.include Capybara::DSL
。 像這樣:
RSpec.configure do |config|
config.include Capybara::DSL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.