minitest-spec-rails пошло не так, когда я делаю какой-то функциональный тест

в моем Gemfile:

group :test do
  gem 'minitest-spec-rails'
end

мой тестовый файл в rail_root/test/functional/publisher_controller_test.rb

# -*- encoding : utf-8 -*-
describe PublisherController do

  describe "GET #signin" do
    it "responds successfully with an HTTP 200 status code" do
      get :signin
      assert_response :success
    end
  end
end

мой модульный тест работал нормально, но когда я запускаю

ruby -Itest test\functional\publisher_controller_test.rb"

пошло не так, вот ошибка:

test/functional/publisher_controller_test.rb:2:in `<main>': 
    uninitialized constant PublisherController (NameError).

Я просто не знаю, почему он может найти мою модель, но не может найти контроллер.


person Veetase    schedule 18.06.2013    source источник


Ответы (1)


Rails ожидает, что имена контроллеров будут множественными, например:

PublishersController

В вашем тесте используется единственное имя контроллера PublisherController, которого не существует. Это может быть вызвано опечаткой при использовании генераторов.

Чтобы исправить это, измените Publisher на Publishers. Не забудьте также изменить имя файла.

person Substantial    schedule 18.06.2013
comment
У меня это не сработало, я все равно получил ошибку: неинициализированная константа PublishersController (NameError). - person Veetase; 19.06.2013