跳至主要内容

一个用于保留Django运行测试顺序的pytest插件。

项目描述

pytest-django 宣称“易于切换”。虽然现有的unittest-style测试不需要修改就可以工作,但如果您依赖Django测试运行器运行测试的顺序,您可能会遇到问题。此插件可以帮助保留这种顺序,以便您运行测试。

动机

Django测试运行器优先执行Django TestCase 子类,在执行其他基于Django的测试(例如,TransactionTestCase)和任何其他 unittest.TestCase 测试之前执行它们。换句话说,Django在执行通过回滚事务重置数据库的测试之前运行重置数据库的测试。

pytest-django 默认不保留此顺序。有关更多信息,请参阅 #214。如果您的项目测试可以独立于彼此运行,不受顺序影响,则这不是问题。但是,如果您的项目测试依赖于通过 fixtures 或迁移填充的初始数据,则通过回滚事务重置数据库的测试 必须 在通过截断所有表重置数据库的测试之前运行,从而删除任何初始数据。可以在 TransactionTestCase 中使用 serialized_rollback 选项来处理此问题,但它对不同的测试用例没有影响;一旦退出 TransactionTestCase,任何初始数据都会丢失。

安装

此插件支持Python 2.7、3.5和3.6。使用pip安装

$ pip install pytest-django-ordering

完成!pytest将自动查找并集成插件。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

pytest-django-ordering-1.2.0.tar.gz (3.0 kB 查看散列值)

上传时间

构建分布

pytest_django_ordering-1.2.0-py2.py3-none-any.whl (4.4 kB 查看散列值)

上传时间 Python 2 Python 3

由以下支持