【发布时间】:2013-07-09 17:25:54
【问题描述】:
我正在尝试访问我在单个测试中创建的对象的页面。
it "should display some text" do
log_employee_in
create_ticket
visit "/tickets/#{Ticket.last.id}"
page.should have_content 'Some Text'
end
在此测试的范围内,Ticket.last 会显示我刚刚创建的记录之前。在这个单独的测试之后,我可以通过发出 Ticket.last 在 Rails 测试控制台中检索正确的记录。
似乎直到当前测试结束后,记录才真正持久化到数据库中。
如何在测试中检索此 ID?
【问题讨论】:
-
可以把create_ticket helper的内容贴出来吗?
-
我可以,但我不确定这会有什么帮助。调用 create_ticket 方法后,存在一个票据供测试使用。但不知何故,它对数据库不可用/持久化。
标签: database ruby-on-rails-3 capybara integration-testing rspec2