[英]Error in an after hook, PG::InFailedSqlTransaction from Rspec
[英]After hook error in rspec
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
后钩中发生错误:
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版本是:
gem 'rspec', '~> 2.13',
gem 'rspec-rails', '~> 2.13'
提前致谢。
在您的gemfile中,您应该具有这样的内容,以便rspec正常工作
group :test, :development do
gem 'rspec-rails', '~> 2.13.2'
end
我还建议您看一下database_cleaner gem
group :test do
gem 'database_cleaner', '~> 1.0.1'
end
关于您的问题,经过很少的研究,似乎rspec如何获取您的spec文件的路径存在问题。 您可以确认上述规格写在以下文件中吗?
spec/controllers/students_controller_spec.rb
您还可以复制/粘贴您的控制器代码吗?
我今天有这个确切的问题。
原来,我忘记了在数据库更改后执行rake db:test:prepare
,然后再次运行测试套件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.