ruby-on-rails - RSpec 中意外的 nil 变量

标签 ruby-on-rails rspec capybara

我有一个非常基本的 RSpec 示例,但它不起作用。这是代码:

require 'spec_helper'

describe "Referral-type functionality" do
  describe "Affiliate system" do
    before { @affiliate = Affiliate.create(account_id: 1) }
    subject { @affiliate }

    describe "URL should work" do
      visit @affiliate.aff_url
    end

  end
end

但是,当我运行它时,rspec 会给出 NoMethodError,因为 @affiliate 为 nil。我错过了什么?

最佳答案

before block 中定义的实例变量在示例 block (it, specify)中可见,但在 中不可见描述 block 。例如:

specify 'URL should work' do
  visit @affiliate.aff_url
end

关于ruby-on-rails - RSpec 中意外的 nil 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13163885/

相关文章:

ruby-on-rails - 为什么我不能在 Rails 中使用 Record.all.destroy?

ruby-on-rails - RVM Requiremets 尝试利用已弃用的 Homebrew 软件/版本

ruby-on-rails - Rspec渲染文本

ruby - Capybara + Cucumber + Selenium Driver 的 Authlogic 不工作

ruby - 将 poltergeist 与代理一起使用?

ruby-on-rails-3 - 在 cucumber / capybara 中模拟关闭/重新打开浏览器?

ruby-on-rails - 采摘多个连接表

javascript - 如何在基于 API 的多页面客户端应用程序中组织路由?

ruby-on-rails - InstanceDouble( session )(匿名)> 收到意外消息 :[]= with

ruby - Cucumber:如何实现功能目录特定的 support/hooks.rb 功能?