【发布时间】:2009-06-28 20:36:21
【问题描述】:
在 Rails 应用程序中,我有一个失败的 Test::Unit 功能测试,但控制台上的输出并没有告诉我太多信息。
如何查看请求、响应、flash、会话、变量集等?
有没有类似...
rake test specific_test_file --verbose
【问题讨论】:
标签: ruby-on-rails ruby unit-testing testing
在 Rails 应用程序中,我有一个失败的 Test::Unit 功能测试,但控制台上的输出并没有告诉我太多信息。
如何查看请求、响应、flash、会话、变量集等?
有没有类似...
rake test specific_test_file --verbose
【问题讨论】:
标签: ruby-on-rails ruby unit-testing testing
您可以按照建议将 puts 语句添加到您的测试用例中,或者将 Rails.logger.debug() 调用添加到您的应用程序代码中并观察您的 log/development.log 以跟踪正在发生的事情。
【讨论】:
在您的测试中,您可以访问大量资源来调试您的测试。
p @request
p @response
p @controller
p flash
p cookie
p session
另外,请记住,您的操作应尽可能简单,并且所有特定操作的执行都应通过单个单元测试进行测试。 功能测试应保留给整体动作执行。
这在实践中意味着什么?如果某些操作在您的操作中不起作用,并且您的操作调用了 3 个模型方法,那么您应该能够轻松地仅查看单元测试来隔离问题。如果一个(或多个)单元测试失败,那么你就知道哪个方法是有罪的。 如果所有单元测试都通过了,那么问题就出在操作本身上,但调试起来应该很容易,因为您已经分别测试了这些方法。
【讨论】:
在失败的测试中使用p @request 等。它很丑,但它可以工作
【讨论】:
另一个问题的答案suggested
rake test TESTOPTS=-v
【讨论】: