Я пытаюсь использовать Capybara + Rspec для тестирования приложения Sinatra, и у меня возникают проблемы с интеграцией Capybara с Rspec. Вот мой spec_helper.rb
:
require './myapp'
require 'capybara/rspec'
Capybara.app = MyApp
Тогда, в моем app_spec.rb
, у меня есть:
require_relative 'spec_helper'
describe "My App", type: :request do
describe "get 'home'" do
it "should be successful" do
visit '/'
response.should be_successful
end
end
end
Согласно всей документации, которую я могу найти, это должно работать нормально. , , но когда я запускаю rspec spec
, я получаю это:
Failures:
1) Our App get 'home' should be successful
Failure/Error: response.should be_successful
NameError:
undefined local variable or method `response' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007f8321289e60>
# ./spec/app_spec.rb:11:in `block (3 levels) in <top (required)>'
Я немного покопался, и я могу решить проблему, добавив этот метод в файл спецификации:
def response
page.driver.browser.last_response
end
Но это кажется счастливым.
Есть ли лучшее решение? Чего мне не хватает?