Я пытаюсь проверить начало начальной страницы для приложения Sinatra, но я изо всех сил пытаюсь заставить рабочую среду тестирования работать. Googling вокруг предлагает добавить огурец/рельсы/rspec или аналогичные, но действительно ли мне нужно добавить библиотеки, связанные с рельсами, когда вы не используете Rails?неопределенный метод `have_content 'с использованием Cucumber/Capybara/sinatra
Вот мой Gemfile
source :rubygems
gem 'sinatra', '1.3.1'
gem 'json', '1.6.3'
group :test do
gem 'rspec', '2.7.0'
gem 'cucumber', '1.1.3'
gem 'capybara', '1.1.2'
gem 'rack-test', '0.6.1'
end
и мои шаги:
Given /^a room needs to be surveyed$/ do
end
When /^I start a survey$/ do
survey_tool.start_a_survey
end
Then /^the system will prompt me for a survey summary$/ do
survey_tool.validate_start_a_survey_page
end
и мой мир расширения
module KnowsTheUserInterface
class UserInterface
include Capybara::DSL
def start_a_survey()
visit '/start_a_survey'
end
def validate_start_a_survey_page()
page.should have_content('Welcome')
end
end
def survey_tool
@survey_tool ||=UserInterface.new
end
end
World(KnowsTheUserInterface)
и мой окр
require File.join(File.dirname(__FILE__), '..', '..', 'lib', 'survey_tool')
require 'capybara/cucumber'
require 'capybara/rspec'
Capybara.app = Sinatra::Application
Sinatra::Application.set :environment, :test
Ошибка я получаю это
Сценарий: Начать обзор # особенности/start_a_survey.feature: 4 Учитывая помещение необходимо обследоваться # функции/step_definitions/start_a_survey_steps.rb: 1 Когда я начинаю обзор # функции /step_definitions/start_a_survey_steps.rb:5 Затем система предложит мне за краткое исследование # особенности/step_definitions/start_a_survey_steps.rb: 9 не определен метод have_content' for #<KnowsTheUserInterface::UserInterface:0x007f910465fc38> (NoMethodError) ./features/support/world_extensions.rb:10:in
validate_start_a_survey_page» ./features/step_definitions/start_a_survey_steps.rb:10:in /^the system will prompt me for a survey summary$/' features/start_a_survey.feature:7:in
Затем система предложит мне резюме обзора «