2013-04-05 2 views
0

У меня есть контроллер продукта, так как у меня есть способ сказать домашнюю страницу и файл _homepage.html.erb в представлениях. Как протестировать этот метод, чтобы получить assert, следует получить успешный ответ. Я создал productcontrllertest.rb в тесте/функциональны и написал ниже кодпроверка функциональности контроллера в рубине на рельсах

require 'test_helper' 
class ProductControllerTest < ActionController::TestCase 

test "should get homepage" do 
    get :homepage 
    assert_response :success 
    end 

end 

и у меня есть routes.rb файл с ГЮТ «продукт/домашнюю страницей»

, когда я запустить тест с тестом грабель команды расслоения ехеса: функционалы Я получаю ошибку.

Error is that NoMethodError: undefined method `authenticate' for nil:NilClass 

Пожалуйста, помогите мне исправить эту ошибку.

+0

Hello! Если вы новичок в RoR и проверяете проверку этого великолепного учебника - http://ruby.railstutorial.org/ruby-on-rails-tutorial-book. Автор много рассказывает о различных инструментах тестирования. Я использую RSpec, поэтому я вообще не работаю с утверждениями. – skrypalyk

+0

Еще один вопрос: открыли ли вы эту страницу в браузере? Может быть, у вас ДЕЙСТВИТЕЛЬНО есть NoMethodError в вашем контроллере? – skrypalyk

+0

Отправьте свой код контроллера. –

ответ

0
require 'test_helper' 
class ProductControllerTest < ActionController::TestCase 

test "should get homepage" do 
    get 'homepage/1' 
    assert_response :success 
    end 

end 
+0

в файле routes.rb Я написал код: match "homepage/1" => 'product # homepage', так что если я выполняю выше предлагаемый код, я получение ошибки ActionController :: RoutingError: нет сопоставлений маршрутов {: controller => "product",: action => "homepage/1"} – user2244199

+0

что такое результат или 'рейк-маршруты'? – muttonlamb

Смежные вопросы