возникли проблемы с "визитом" в интеграционных тестах на уроке по рельсам - PullRequest
3 голосов
/ 05 декабря 2010

Я новичок в рельсах и пробегаю учебник rails 3 . У меня проблема с запуском интеграционных тестов. Кажется, что метод 'посещение' (Webrat?) Всегда будет неудачным. Это сообщение об ошибке, которое я получаю от rspec:

Failure/Error: visit signup_path
Unknown Webrat mode: nil

Please ensure you have a Webrat configuration block that specifies a mode
in your test_helper.rb, spec_helper.rb, or env.rb (for Cucumber).

This configure block supercedes the need to require "webrat/<framework>".

For example:

  Webrat.configure do |config|
    config.mode = :rails
  end
# ./spec/requests/users_spec.rb:27:in `block (5 levels) in <top (required)>'
# ./spec/requests/users_spec.rb:26:in `block (4 levels) in <top (required)>'

Я попытался добавить блок конфигурации Webrat выше в spec / spec_helpers.rb, и я получаю эту ошибку:

Failure/Error: visit signup_path
no such file to load -- action_controller/integration
# ./spec/requests/users_spec.rb:27:in `block (5 levels) in <top (required)>'
# ./spec/requests/users_spec.rb:26:in `block (4 levels) in <top (required)>'

Я читал другие темы об этой проблеме, и они предложили использовать 'config.mode =: rack', если я это сделаю, то получу эту ошибку:

Failure/Error: visit signup_path
undefined method `last_response' for #<RSpec::Core::ExampleGroup::Nested_5::Nested_1::Nested_2:0xa4b8aac>
# ./spec/requests/users_spec.rb:27:in `block (5 levels) in <top (required)>'
# ./spec/requests/users_spec.rb:26:in `block (4 levels) in <top (required)>'

Полагаю, важно отметить, что я запустил учебник по win7x64, но я попытался клонировать репозиторий в Ubuntu с теми же ошибками. Вот хранилище, если кто-то хочет посмотреть:

мерзавец: //github.com/ender4/sample_app2.git обратите внимание на 2 там ^

Я читал много похожих тем, но большинство решений предназначено для более старых версий rails / rspec / webrat или для других сред тестирования (таких как cucumber), и поэтому я не знаю, применимы ли они или как они будут применяться.

Любая помощь будет оценена.

Ответы [ 3 ]

6 голосов
/ 17 апреля 2011

Эй, ребята ... если вы видите:

Неудачи:

1) Ошибка регистрации пользователя не должна делать нового пользователя Ошибка / Ошибка: посетите signup_path NameError: неопределенная локальная переменная или метод `signup_path 'для #

... Убедитесь, что вы помещаете тест (ы) в правильный файл:

принадлежит: /spec/requests/users_spec.rb не в: /spec/model/user_spec.rb

Учись на практике и все такое! : 0 <> ... намного легче наблюдать, как другой парень врезается в стену, а затем избегать этого пути :)

1 голос
/ 06 февраля 2011

обновлены драгоценные камни до:

group :development do
  gem 'rspec-rails', '2.4.1'
end

group :test do
  gem 'rspec', '2.4.0'
  gem 'webrat', '0.7.1'
end

работает!

0 голосов
/ 07 декабря 2010

Я думаю, что нашел виновника, rspec 2.2.0.Использование rspec 2.1.0, похоже, решает проблему.

...