2010-12-05 4 views
3

Я новичок в рельсах и прохожу через rails 3 tutorial. У меня проблема с интеграционными тестами. Кажется, что метод «визит» (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 =:» стойки, если я делаю это, то я получаю эту ошибку:

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 , bu t Я попытался клонировать репозиторий на ubuntu с теми же ошибками. Вот это хранилище, если кто-то хочет посмотреть:

мерзавец: //github.com/ender4/sample_app2.git примечание 2 есть^

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

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

ответ

0

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

1

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

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

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

работает!

6

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

Неудача:

1) непредставление регистрации Пользователя не должно сделать новый пользователь Failure/ошибки: посетить signup_path NameError: неопределенных локальные переменный или метод `signup_path» для #

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

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

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