在Rubyonrails教程中尝试运行Rspec测试时,我一直收到此错误
失败:
1)GET'about'应该成功
Failure/Error: get 'about'
RuntimeError:
@controller is nil: make sure you set it in your test's setup method.
# ./spec/controllers/pages_controller_spec.rb:27:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)
我已经尽力纠正了所有问题,但是都被证明是徒劳的。任何帮助将不胜感激。
这是我的spec_helper.rb文件
require 'rubygems'
require 'spork'
Spork.prefork do
end
Spork.each_run do
end
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
config.include RSpec::Rails::ControllerExampleGroup
config.mock_with :rspec
config.fixture_path = "#{::Rails.root}/spec/fixtures"
config.use_transactional_fixtures = true
end
Run Code Online (Sandbox Code Playgroud)
pages_controller.rb文件:
class PagesController < ApplicationController
def home
end
def contact
end
def about
end …
Run Code Online (Sandbox Code Playgroud) 尝试运行ZenTest时,我不断收到此错误
Invalid gemspec in [/usr/local/rvm/gems/ruby-1.9.3-p194/specifications/ZenTest-4.9.3.gemspec]: Illformed requirement ["< 2.1, >= 1.8"].
Run Code Online (Sandbox Code Playgroud)
我已经尝试删除ZenTest 4.9.3和gem安装ZenTest 4.8.3,但该版本无法在任何存储库中找到,因此它会自动安装ZenTest 4.9.3,这会导致错误,因此我无法运行spork或autotest.有没有办法解决?谢谢!
这是我的gemfile:
source 'https://rubygems.org'
gem 'rails', '3.2.11'
gem 'spork'
gem 'rspec-core'
gem 'autotest', '4.4.6'
gem 'autotest-rails', '4.1.2'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
gem 'sqlite3'
gem 'rspec-rails'
gem 'webrat'
gem 'capybara'
gem 'Zentest', '4.8.3'
end
group :production do
gem 'pg'
end
# Gems used only for assets and not required
# in production environments by default.
group …
Run Code Online (Sandbox Code Playgroud) ruby-on-rails zentest spork railstutorial.org ruby-on-rails-3.2