首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rspec中的After hook错误

rspec中的After hook错误
EN

Stack Overflow用户
提问于 2013-06-26 19:45:24
回答 2查看 3.3K关注 0票数 0
代码语言:javascript
复制
require 'spec_helper'

describe StudentsController do
  fixtures :all

  context "#profile" do
    let(:school) { Factory.create(:school_2) }

    before do
      session[:email] = user.email
      session[:user_id] = user.id
    end

    it "should assign the user to @user" do
      User.stub(:find).with(user.id).and_return(user)
      get :profile
      assigns[:user].should eql(user)
    end
  end
end

after钩子中发生错误:

代码语言:javascript
复制
NoMethodError: undefined method `original_path_set' for nil:NilClass
occurred at /home/qbadmin/.rvm/gems/ruby-1.9.3-p194/gems/rspec-rails-2.13.1/lib/rspec/rails/view_rendering.rb:121:in `block (2 levels) in <module:ViewRendering>'

这是我从命令行运行rspec spec时得到的错误。有人能帮我找出问题出在哪里吗?

我在Gemfile中指定的RSpec版本是:

代码语言:javascript
复制
gem 'rspec', '~> 2.13',
gem 'rspec-rails', '~> 2.13'

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-06-27 15:26:51

在您的gemfile中,为了使rspec正常工作,您应该具有类似以下内容的内容

代码语言:javascript
复制
group :test, :development do
  gem 'rspec-rails', '~> 2.13.2'
end

我还建议您看看database_cleaner的gem

代码语言:javascript
复制
group :test do
  gem 'database_cleaner', '~> 1.0.1'
end

关于您的问题,经过很少的研究,似乎rspec如何获取spec文件的路径存在问题。你能确认上面的规格已经写在下面的文件里了吗?

spec/controllers/students_controller_spec.rb

你可以复制/粘贴你的控制器代码吗?

票数 -1
EN

Stack Overflow用户

发布于 2014-03-26 21:44:06

我今天确实遇到了这个问题。

事实证明,在数据库更改之后,在再次运行测试套件之前,我忘记了执行rake db:test:prepare

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17319126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档