Ошибка NoMethod для Capybara без Rails, Rspec или Cucumber

Я пытаюсь запустить Capybara без Rails, Cucumber, Rspec только на чистом Ruby.

Мой тестовый скрипт выглядит так:

require 'capybara'
require 'selenium-webdriver'

url = "MyAccessKey"
capabilities = Selenium::WebDriver::Remote::Capabilities.chrome
capabilities.platform = :LINUX

Capybara.register_driver :sauce do |app|
Capybara::Selenium::Driver.new(app,
  :browser => :remote, :url => url,
  :desired_capabilities => capabilities)
end

Capybara.default_driver=:sauce
Capybara.app_host="127.0.0.1:8888"


include Capybara::DSL
# include Capybara::RSpecMatchers

visit('')
feature "Signing in" do
    scenario "Should sign in" do
        within ('#form_content') do
            fill_in 'login',:with=>'user'
            fill_in 'password',:with=>'pwd'
            find(:xpath,'//input[@type="submit"]').click    
        end
    end
end

visit работает нормально... но feature and scenario выдает NoMethodError. Должен ли я включать что-либо здесь?


person user2354302    schedule 06.12.2013    source источник


Ответы (1)


feature и scenario являются частью RSpec. Это не загружается по умолчанию при использовании Capybara.

Предполагая, что вы хотите включить RSpec, модифицированный Capybara, вместо того, чтобы делать:

require 'capybara'

Do:

require 'capybara/rspec'

Если вам просто нужен простой RSpec, вы, конечно, можете сделать:

require 'capybara'
require 'rspec'
person Justin Ko    schedule 06.12.2013