gpt4 book ai didi

ruby-on-rails - 为什么请求规范中没有 capybara ?

转载 作者:行者123 更新时间:2023-12-04 10:26:52 26 4
gpt4 key购买 nike

使用 rspec 和 capybara 开发新的 Rails 3.2.9 应用程序。

我在 Gemfile 中有以下内容:

gem 'rspec-rails'
gem 'capybara'

以及 spec/spec_helper.rb 中的以下内容:
require 'rspec/rails'
require 'capybara/rspec'

在 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

此测试失败:
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)>'

所以看起来 Capybara 没有被加载。啊,为什么不呢?我觉得我之前已经做了十几次完全相同的事情......可能对一些愚蠢的事情感到茫然。

最佳答案

所以这是一个 capybara 版本 2 的变化。我找到了这个:

http://alindeman.github.com/2012/11/11/rspec-rails-and-capybara-2.0-what-you-need-to-know.html

这解释了:

Upon upgrading to capybara 2.0, capybara will not be available by default in RSpec request specs. Instead, a new type of spec--the feature spec--has been created for use with capybara.

To upgrade to capybara 2.0, you'll need to do a few things:

  • Upgrade rspec-rails to 2.12.0 or greater
  • Move any tests that use capybara from spec/requests to spec/features. Capybara tests use the visit method and usually assert against page.

关于ruby-on-rails - 为什么请求规范中没有 capybara ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13747553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com