Я пишу некоторые тесты на вебрате с помощью sinatra, и как часть этого мне нужны сеансы.
Вики webrat упоминают, что мне нужно вызвать use Rack::Session::Cookie
вместо enable :sessions
- Я сделал это.
Этот конкретный тест выглядит следующим образом:
class RegisterNewUserTest < Test::Unit::TestCase
include Webrat::Methods
include Webrat::Matchers
include Webrat::Session
def app
Rack::Builder.parse_file('config.ru').first
end
def register_new_user
visit '/signup'
fill_in "user[email]", :with => "testing@jamesrgifford.com"
set_hidden_field "user[password]", :to => "password"
set_hidden_field "user[password_confirmation]", :to => "password"
click_button "Register"
end
end
Когда я его запускаю, я получаю следующую ошибку:
in `include': wrong argument type Class (expected Module) (TypeError)
from test.rb:77:in `<class:RegisterNewUserTest>'
from test.rb:74:in `<main>'
Когда я удаляю Webrat::Session
, он исчезает, но тогда мой тест бесполезен.