如何在数据库后端停止服务时测试应用程序的行为

时间:2014-04-07 21:34:33

标签: django testing django-testing

当数据库停止服务时,我们的应用程序会有特定的行为。 我想为这种行为写一个测试,但是找不到解决方案。

我认为最简单的方法是破坏数据库身份验证或名称,但是:

override_settings无法更改DATABASE设置(https://code.djangoproject.com/ticket/19031

modify_settings未在django 1.6中实现

有一个解决方案吗?

由于

1 个答案:

答案 0 :(得分:1)

您可以尝试在测试中关闭与数据库的连接。

from django import db

from myapp.models import MyModel

# assuming only one connection
db.connections.all()[0].connection.close()

try:
    MyModel.objects.first()
except db.InterfaceError, e:
    print e