0x4*_*672 5 database testing unit-testing ruby-on-rails
通过某些监视工具(例如Monit)使用心跳消息使应用程序幸存下来是一种常见的设置.如果应用程序正在运行并且一切正常,它将返回"我还活着"消息,如果数据库失败或Web服务器挂起则不返回任何内容或内部服务器错误(HTTP状态代码500)页面.如何模拟数据库失败以在Ruby on Rails中测试此行为?如果可以在测试(Test::Unit或RSpec)本身内为测试目的启用/禁用此功能,那将是很好的.
看起来可以ActiveRecord::Base.remove_connection用来模拟数据库故障.使用RSpec这看起来像:
describe "GET running" do
it "renders a 500 if crashed" do
ActiveRecord::Base.remove_connection
get :running
response.response_code.should == 500
ActiveRecord::Base.establish_connection
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1717 次 |
| 最近记录: |