Je suis avec RailsSpace: Building a Social Networking Website with Ruby on Rails by Michael Hartl. Rails de course v2.3.2.obtenir la méthode pour tester dans les rails
Je suis arrivé au chapitre 5 dans lequel les tests sont introduits. Ce qui suit est censé correspondre au titre des différentes pages à cordes en utilisant la méthode get:
require File.dirname(__FILE__) + '/../test_helper'
require 'site_controller'
# Re-raise errors caught by the controller.
class SiteController; def rescue_action(e) raise e end; end
class SiteControllerTest < Test::Unit::TestCase
def setup
@controller = SiteController.new
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
end
def test_index
get :index
title = assigns(:title)
assert_equal "Welcome to RailsSpace!", title
assert_response :success
assert_template "index"
end
def test_about
get :title
title = assigns(:title)
assert_equal "About RailsSpace", title
assert_response :success
assert_template "about"
end
def test_help
get :help
title = assigns(:title)
assert_equal "RailsSpace Help", title
assert_response :success
assert_template "help"
end
end
sur la compilation-je obtenir:
Loaded suite site_controller_test
Started
EEE
Finished in 0.057 seconds.
1) Error:
test_about(SiteControllerTest):
NoMethodError: undefined method `get' for #<SiteControllerTest:0x4854b30>
site_controller_test.rb:23:in `test_about'
2) Error:
test_help(SiteControllerTest):
NoMethodError: undefined method `get' for #<SiteControllerTest:0x4854b1c>
site_controller_test.rb:31:in `test_help'
3) Error:
test_index(SiteControllerTest):
NoMethodError: undefined method `get' for #<SiteControllerTest:0x485470c>
site_controller_test.rb:15:in `test_index'
3 tests, 0 assertions, 0 failures, 3 errors
D'autres personnes ont eu this issue et la seule solution proposée est juste réinstaller. Je ne suis pas enthousiasmé par ça. Comme il s'agit d'un livre plus ancien, il s'agit probablement d'une simple rupture entre les versions des rails. Quel serait l'équivalent de cela pour les rails v2.3.2?
Vous devriez également pouvoir supprimer la méthode d'installation. – Shadwell