我有以下水豚功能场景:
scenario 'user can create an account' do
visit new_user_path
within(:css, "form[action='/users']") do
fill_in 'user[username]', with: 'dummy'
fill_in 'user[email]', with: 'dummy@email.com'
fill_in 'user[password]', with: 'password'
fill_in 'user[password_confirmation]', with: 'password'
fill_in 'user[address]', with: 'brasilia'
find("input[type='submit']").click
end
expect(page).to have_current_path(root_path)
end
当我执行它时,我收到以下错误:
1) CreateAccount user can create an account
Failure/Error: expect(page).to have_current_path(root_path)
expected "/users" to equal "/"
# ./spec/features/create_account_spec.rb:14:in `block (2 levels) in <top (required)>'
所以我在开发环境中使用相同的参数测试,一切正常。我在场景中使用了save_and_open_screenshot
,我收到了这条消息:
Method not Allowed
我不知道发生了什么。在此先感谢您的帮助!
我检查日志但是我无法看到任何请求,但只有与数据库相关的错误。在这里我找到了:
SELECT schemaname || '.' || tablename
FROM pg_tables
WHERE
tablename !~ '_prt_' AND
tablename <> 'schema_migrations' AND
schemaname = ANY (current_schemas(false))
我不知道这是否会有所帮助,但唯一的日志片段看起来像是一个错误。
我运行rails s -e test
并发现在发出请求的表单标记中缺少hidden_tag authencity标记。这可能是method not allowed
的原因吗?