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

标签 django testing django-testing

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

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

override_settings 无法更改数据库设置 ( https://code.djangoproject.com/ticket/19031 )

modify_settings 未在 django 1.6 中实现

有解决方案吗?

谢谢

最佳答案

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

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

关于django - 如何在数据库后端停止服务时测试应用程序的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22923552/

相关文章:

python - 如何将数据库中的变量放入 base.html 模板中?

python - 如何显示包含 django 模板变量的字符串?

python - 如何使用 pytest 创建套件/聚合测试

testing - Backbone - View 中使用 ReadFile 的测试方法

javascript - 在 Ember 中使用 Sinon 的假服务器

django - 具有多个应用程序和数据库的单元测试项目 - TEST [DEPENDENCIES] 中的循环依赖

python - 为一个条目分配多个标签

python - 过滤月份值不返回对象

python - 我如何有效地测试这个 Django 模型?

django-testing - Django 单元测试 : AttributeError: 'WSGIRequest' object has no attribute 'user'