2
  it "should submit form", :driver => :webkit do
    visit '/things/new'
    page.should have_content('Login')
    fill_in 'user_login', with: @thing.email
    fill_in 'user_comment', with: @thing.comment
    click_button 'log_in'
    save_and_open_page
    page.should have_content('Thanks!')  
  end

浏览器中的响应[内部服务器错误]:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id

我猜 things_controller 或 things/_form 中的某些东西出乎意料地为零,但我似乎无法确定它是什么。该页面在开发中运行良好(使用填充的数据库)

有没有办法获得更有意义的反馈?

还是我走错了路?

4

2 回答 2

3

您可以做几件事。

  • 查看您的日志/test.log
  • 禁用 whiny nils 并查看是否弹出真正的堆栈跟踪
  • 使用一些内省,如调试器或撬动

或锤法:

  • 将一大堆 puts/Rails.logger.debug 语句放入您的代码中
于 2012-06-26T18:06:38.277 回答
0

检查您的 create 函数是否没有手动设置 createdf 对象 ID,并且与该对象的任何关系都正确填写了它们的字段。

即编写检查这些的测试。

您是否使用不同的数据库类型?

于 2012-06-26T18:12:10.960 回答