相关疑难解决方法(0)

Capybara:未定义的方法'访问'

当使用rspec和capybara运行我的规格时,它无法找到capybara的访问方法.我需要做另一个初始化步骤吗?

$bundle exec rspec spec
/home/brian/projects/expense_track/expense_track/spec/requests/homepage_spec.rb:6:in `block (2 levels) in <top (required)>': undefined method `visit' for #<Class:0xb6572b8> (NoMethodError)
Run Code Online (Sandbox Code Playgroud)

的Gemfile:

group :test, :development do
  gem "rspec-rails"
  gem "capybara"
end
Run Code Online (Sandbox Code Playgroud)

我的spec_helper.rb顶部:

# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)

require 'rspec/rails'
require 'capybara/rspec'
require 'rspec/autorun'
Run Code Online (Sandbox Code Playgroud)

homepage_spec.rb:

require 'spec_helper'

describe "The home page" do

  context "home page exists" do
    visit "/"
    page.should have_content("elephants")
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails capybara ruby-on-rails-3

36
推荐指数
4
解决办法
2万
查看次数

#Rspec :: Core - Rails教程第9章的未定义方法'patch'

我收到以下错误,无法弄清楚如何解决它.Stack Overflow上还有一些其他页面可以解决类似的问题,但这些似乎并不适用,或者至少我不够精明,无法解决这个问题.

当我运行authentication_pages_spec时,问题似乎是使用"patch",导致下面的失败.请注意,我已经尝试用"put"替换"patch"并获得相同的结果.

Failures:

1) Authentication authorization for non-signed-in users in the Users controller submitting to the update action 
 Failure/Error: before { patch user_path(user) }
 NoMethodError:
   undefined method `patch' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_3::Nested_1::Nested_1::Nested_2:0x007fa7e4df1e50>
 # ./spec/features/authentication_pages_spec.rb:59:in `block (6 levels) in <top (required)>'

Finished in 0.34392 seconds
2 examples, 1 failure
Run Code Online (Sandbox Code Playgroud)

注意:根据Stack Overflow的讨论和这里引用博客,我选择将我的spec/requests文件夹更改为spec/features,因为这似乎是Capybara在2.0版之后所要求的.

这是我的Gemfile:源' https : //rubygems.org'ruby'2.0.0'#ruby-gemset = railstutorial_rails_4_0

gem 'rails', '4.0.0'
gem 'bootstrap-sass', '2.3.2.0'
gem 'pg', '0.15.1'
gem 'bcrypt-ruby', '3.0.1'

group :development, :test do
  gem 'rspec-rails', …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails capybara railstutorial.org ruby-on-rails-4

7
推荐指数
1
解决办法
2568
查看次数

未定义方法'访问'#<Class:XYZ>(NoMethodError)[rspec]

当我尝试运行rspec测试时,我收到以下错误:

/srv/offerme/spec/requests/static_pages_spec.rb:13: undefined method `visit' for #<Class:0xb3436684> (NoMethodError)
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `module_eval'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `subclass'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:224:in `describe'
from /srv/offerme/spec/requests/static_pages_spec.rb:12
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `module_eval'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `subclass'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:224:in `describe'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/dsl.rb:18:in `describe'
from /srv/offerme/spec/requests/static_pages_spec.rb:3
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `map'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:22:in `run'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:69:in `run'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `autorun'
from /usr/local/bin/rspec:19
Run Code Online (Sandbox Code Playgroud)

我收到此错误的文件如下所示(spec/requests/static_pages_spec.rb):

require 'spec_helper'

describe "StaticPages" do
include Capybara::DSL
  describe "GET /static_pages" do
    it "works! (now write some real specs)" do
      # Run the generator …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails capybara

3
推荐指数
1
解决办法
5182
查看次数