水豚遇到麻烦

时间:2014-09-11 20:14:16

标签: ruby-on-rails capybara

所以我正在尝试运行我的测试,现在假设要通过,但我一直收到错误

1) Sign in flow successful redirects to the topics index
     Failure/Error: visit('/topics')
     NoMethodError:
       undefined method `visit' for #
<RSpec::ExampleGroups::SignInFlow::Successful:0x007fd91e36f8e0>
     # ./spec/models/sign_in_spec.rb:10:in `block (3 levels) in <top (required)>'

这是我的sign_in_spec.rb文件

require 'rails_helper'

describe "Sign in flow" do 

  include TestFactories

  describe "successful" do 
    it "redirects to the topics index" do 
      user = authenticated_user
      visit root_path
    end
  end
end

我的rails_helper.rb

ENV["RAILS_ENV"] ||= 'test'
require 'spec_helper'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'capybara/rails'
require 'capybara/rspec'

我不确定,但我认为我不需要为root_path创建路由吗?

1 个答案:

答案 0 :(得分:2)

问题不是/ - 它是visit,因为您的错误显示了。该规范文件中不存在该方法。这是一种Capybara方法,而Capybara则用于特征规格。

看起来问题是您正在尝试在模型规范文件中运行“功能”规范。 Capybara会创建您正在使用的特定于域的语言,并将其设置为仅在某些规范文件夹中可用。如果您将规范移动到spec/features文件夹,则可能会修复它。

相关问题