Оператор выбора Capybara не работает с Rspec - PullRequest
0 голосов
/ 15 марта 2011

Использование Capybara с Rails 3, Rspec и Cucumber,

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

    select("Unspecified", :from=> 'record_family_')

Я получаю ошибку, wrong number of arguments (2 for 3)Аналогично, если я опущу второй аргумент, я получу wrong number of arguments (1 for 3).Это происходит независимо от того, использую ли я RSpec или Cucumber.Если я переключаюсь на Webrat, все работает.

Подробности: Rails 3.0.4, rspec-core 2.5.1, rspec-rails 2.5.0, капибара 0.1.4.2, стойка 1.2.1

Первые несколько строк трассировки стека(с упрощенным путем):

wrong number of arguments (1 for 3) (ArgumentError)
actionpack-3.0.5/lib/action_view/helpers/form_options_helper.rb:131:in `select'
capybara-0.4.1.2/lib/capybara/dsl.rb:104:in `select'
step_definitions/sim_db_steps.rb:412:in `block in <top (required)>'
cucumber-0.10.0/lib/cucumber/core_ext/instance_exec.rb:48:in `instance_exec'
cucumber-0.10.0/lib/cucumber/core_ext/instance_exec.rb:48:in `block in cucumber_instance_exec'
cucumber-0.10.0/lib/cucumber/core_ext/instance_exec.rb:69:in `cucumber_run_with_backtrace_filtering'
cucumber-0.10.0/lib/cucumber/core_ext/instance_exec.rb:36:in `cucumber_instance_exec'
cucumber-0.10.0/lib/cucumber/rb_support/rb_step_definition.rb:62:in `invoke'

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 16 марта 2011

Спасибо Джонасу Никласу за то, что он указал на проблему, проблему пространства имен.Я косвенно включил ActionView::Helpers::FormOptionsHelper в тестовые наборы, чтобы ActionView select конфликтовал с Capybara.

0 голосов
/ 09 марта 2013

У меня также была проблема с пространством имен при выборе (он использовал ядро ​​вместо page.select). Мне пришлось изменить это:

RSpec.configure do |config|
  config.include Capybara::DSL
  config.include ActionView::Helpers::FormOptionsHelper
end

К этому:

RSpec.configure do |config|
  config.include ActionView::Helpers::FormOptionsHelper
  config.include Capybara::DSL
end

Просто порядок включенных исправил.

...