我可以选择使用Capybara save_and_open_page
吗?我编写了一个测试用户注册表单的请求规范。成功注册后,这个测试应该产生,这个测试应该通过,但事实并非如此。
然而,当我最后save_and_open_page
时,所有表单字段都是空白的。我可以在开发环境中镜像这样做自己进行数据输入,一切都过去了,所以我很难理解什么是错的。我不能放过这个,因为显然这是一个关键的考验。
我只是做了一段时间的TDD,所以关于这个堆栈(Capybara和Poltergeist)的任何提示或技巧都会有所帮助。我在使用相同堆栈的其他请求规范中没有类似的困难。
以下是请求规范:
it 'allows a user to subscribe', js: true do
visit root_url
click_link "Pricing"
click_button "Subscribe", match: :first
fill_in "First name", with: "Marky"
fill_in "Last name", with: "Mark"
fill_in "Company", with: "The Funky Bunch"
fill_in "subscription_email", with: "marky.mark@thefunkybunch.com"
fill_in "Password", with: "MyString"
fill_in "Password confirmation", with: "MyString"
fill_in "Credit Card Number", with: "4242424242424242"
fill_in "Security Code on Card (CVV)", with: "123"
select "July", from: "Card Expiration"
select "2014", from: "card_year"
check "chkACCEPT"
click_button "Subscribe to myapp"
# The line below fails, but a save_and_open page just shows a blank form
current_path.should_not eq(new_subscription_path)
page.should have_content("Thank You")
end
答案 0 :(得分:1)
Poltergeist提供的截图可以代替save_and_open_page使用:
save_screenshot('/path/to/file.png', :full => true)
但是你的评论“#下面的行失败”似乎非常符合“save_and_open页面只显示一个空白表格”。