Ruby on rails 使用capybara和selenium获取要显示的rails异常
在使用capybara和selenium在rails中运行集成测试时,如果引发异常,将显示一个空白的白色页面,而不是通常的带有堆栈跟踪的异常屏幕。有没有办法让capybara显示堆栈跟踪页面?这很可能是因为堆栈跟踪仅在开发执行模式(或“环境”)中显示,并且您的集成测试在生产环境中运行 当然,通过调整生产模式设置,可以使其显示异常。但这不是正确的方法。最好的方法是:Ruby on rails 使用capybara和selenium获取要显示的rails异常,ruby-on-rails,selenium,rspec,integration-testing,capybara,Ruby On Rails,Selenium,Rspec,Integration Testing,Capybara,在使用capybara和selenium在rails中运行集成测试时,如果引发异常,将显示一个空白的白色页面,而不是通常的带有堆栈跟踪的异常屏幕。有没有办法让capybara显示堆栈跟踪页面?这很可能是因为堆栈跟踪仅在开发执行模式(或“环境”)中显示,并且您的集成测试在生产环境中运行 当然,通过调整生产模式设置,可以使其显示异常。但这不是正确的方法。最好的方法是: 将异常和堆栈跟踪记录到日志中 文件或日志服务器(hoptoad?) 用户无法看到它,但您 能 捕获异常并呈现 错误页 希望这有帮
- 将异常和堆栈跟踪记录到日志中 文件或日志服务器(hoptoad?) 用户无法看到它,但您 能
- 捕获异常并呈现 错误页
希望这有帮助。致以最诚挚的问候。我无法通过Webrick或Thin获得堆栈跟踪,但我最终的解决方法是使用Mongrel,它可以正确地将堆栈跟踪打印到stderr 使用capybara 0.4.1.2或更高版本,您可以将capybara配置为使用mongrel,如下所示:
Capybara.server do |app, port|
require 'rack/handler/mongrel'
Rack::Handler::Mongrel.run(app, :Port => port)
end
马特的解决方案对我不起作用,但正是这个要点 是的 更详细地解释了它的原因
发生并解释给定gist的作用 我认为人们通常在:测试环境中运行他们的水豚测试。你可以在spec_helper.rb或env.rb:^^中使用monkey patch Thin。这个补丁现在已经被合并到最新版本的Thin中。这是唯一对我有效的解决方案。谢谢你把它指出来