Псевдонимы 'Feature' и 'Scenario' из Capybara выдают ошибку 'undefined method' при использовании с RSpec - PullRequest
4 голосов
/ 26 января 2012

Похоже, эти псевдонимы загружены неправильно. Я использую Rails 3.X, rspec 2.8 и капибару 1.1.2 для написания некоторых интеграционных тестов. Я думаю, что моя установка Capybara прошла успешно, так как все это работает со стандартными тегами «description» и «it», но псевдонимы «feature» и «script» из Capybara выдают ошибку «undefined method».

Я не вижу ничего в документации, упоминающей больше настроек: https://github.com/jnicklas/capybara Я просто добавил 'require capybara / rspec' в мой spec_helper.rb

1 Ответ

17 голосов
/ 06 февраля 2012

Похоже, вы не можете объединить описание / это с синтаксисом функции / сценария. Я получал ту же ошибку, когда вложил блок scenario в блок describe. Как только я заменил describe на feature, тест прошел. Одна ошибка: он также не похож на вложенные блоки feature, что, я думаю, имеет смысл в контексте приемочного тестирования.

describe "some feature" do  # <== BAD
  scenario "some scenario" do
    #spec code here
  end
end

feature "some feature" do  # <== GOOD
  scenario "some scenario" do
    #spec code here
  end
end

UPDATE Я копался в исходном коде Capybara, и before и it не получают псевдонимы background и scenario , если только блок describe не создается с capybara_feature => true, что происходит, когда создать блок с feature вместо describe.

...