Jin*_*Kim 7 rspec ruby-on-rails capybara
使用rspec和capybara处理新的Rails 3.2.9应用程序.
我在Gemfile中有以下内容:
gem 'rspec-rails'
gem 'capybara'
Run Code Online (Sandbox Code Playgroud)
以及spec/spec_helper.rb中的以下内容:
require 'rspec/rails'
require 'capybara/rspec'
Run Code Online (Sandbox Code Playgroud)
并在spec/requests/asdf_spec.rb中:
require 'spec_helper'
describe 'Asdf' do
describe "GET /asdfs" do
it "should list asdfs" do
visit asdfs_path
end
end
end
Run Code Online (Sandbox Code Playgroud)
此测试失败:
Failure/Error: visit asdfs_path
NoMethodError:
undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2::Nested_1:0x007fa7b68961a0>
# ./spec/requests/asdfs_spec.rb:19:in `block (4 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
所以看起来Capybara没有装满.伙计,为什么不呢?我觉得我之前已经做了十几次同样的事情......可能会对一些愚蠢的东西进行消隐.
Jin*_*Kim 13
所以这是一个水豚版本2的变化.我找到了这个:
http://alindeman.github.com/2012/11/11/rspec-rails-and-capybara-2.0-what-you-need-to-know.html
这解释了:
升级到capybara 2.0后,默认情况下,在RSpec请求规范中不会提供 capybara.相反,已经创建了一种新类型的规范 - 特征规范 - 用于水豚.
要升级到capybara 2.0,您需要做一些事情:
- 将rspec-rails升级到2.12.0或更高版本
- 将任何使用capybara的测试从spec/requests移动到spec/features.Capybara测试使用visit方法并且通常断言对页面.
| 归档时间: |
|
| 查看次数: |
2694 次 |
| 最近记录: |