跳转到主要内容

使Django测试简单快捷

项目描述

django-nose 在您的 Django 测试中提供了 nose 的所有优点,例如:

  • 默认情况下只测试您的应用程序,而不是 INSTALLED_APPS 中偶然存在的所有标准应用程序

  • 在一个或多个特定模块(或应用程序、类、文件夹)中运行测试,或只运行特定的测试

  • 无需将所有测试导入到 tests/__init__.py 中。这不仅节省了繁琐的工作,还消除了意外覆盖测试类的可能性。

  • 利用所有有用的 nose 插件

它还提供:

  • 固定数据捆绑,这是一个可选功能,可以将基于固定数据的测试速度提高 4 倍

  • 重用先前创建的测试数据库,缩短启动时间 10 秒

  • 卫生的 TransactionTestCases,可以为您每个测试节省一次数据库刷新

  • 支持各种数据库。与 MySQL、PostgreSQL 和 SQLite 进行过测试。其他数据库也应该可以正常工作。

django-nose 需要 nose 1.2.1 或更高版本,并建议使用最新的发布版。它遵循 Django 的支持策略,支持以下版本:

  • Django 1.8 (LTS) 与 Python 2.7、3.4 或 3.5

  • Django 1.9 与 Python 2.7、3.4 或 3.5

  • Django 1.10 与 Python 2.7、3.4 或 3.5

  • Django 1.11 (LTS) 与 Python 2.7、3.4、3.5 或 3.6

  • Django 2.0 与 Python 3.4、3.5、3.6 或 3.7

  • Django 2.1 与 Python 3.5、3.6 或 3.7

  • Django 2.2 与 Python 3.5、3.6 或 3.7

用户注意

nose 自 2015 年以来一直处于维护模式。同样,django-nose 也处于维护模式,唯一的维护者不再是活跃用户。有关 django-nose 的维护方式和如何提供帮助的信息,请参阅 Jazzband.co。新项目应考虑使用 pytest 或与 Django 测试框架 一起使用的 unittest

安装

您可以使用以下方法从 PyPI 获取 django-nose:

$ pip install django-nose

可以使用以下方法安装开发版本:

$ pip install -e git://github.com/jazzband/django-nose.git#egg=django-nose

由于 django-nose 扩展了 Django 内置的测试命令,因此您应将其添加到 settings.py 中的 INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'django_nose',
    ...
)

然后在 settings.py 中设置 TEST_RUNNER

TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

开发

代码:

https://github.com/jazzband/django-nose

问题:

https://github.com/jazzband/django-nose/issues?state=open

文档:

https://django-nose.readthedocs.io

变更日志

1.4.7 (2020-08-19)

1.4.6 (2018-10-03)

  • 记录 Django 2.0 和 2.1 支持,无需更改

  • 记录 Python 3.7 支持

1.4.5 (2017-08-22)

  • 添加 Django 1.11 支持

1.4.4 (2016-06-27)

  • 添加 Django 1.10 支持

  • 删除 Django 1.4 - 1.7 和 Python 2.6 支持

  • 删除 South 支持

1.4.3 (2015-12-28)

  • 添加 Django 1.9 支持

  • 支持不带等号的长期选项,例如“–attr selected”

  • 支持使用回调选项的 nose 插件

  • 支持不带默认值的 nose 选项(jsatt)

  • 从安装依赖中移除Django,以避免意外升级(jsocol,willkg)

  • 将REUSE_DB设置为空值现在将禁用REUSE_DB,而不是启用它(wdoekes)

1.4.2 (2015-10-07)

  • 在文档中警告不要使用REUSE_DB=1和FastFixtureTestCase(wdoekes)

  • REUSE_DB=1在Django 1.7、1.8中使用新的事务管理(scottsexton)

  • 尽量避免意外使用REUSE_DB=1时的生产数据库(alexjg,eroninjapan)

  • 支持的Django版本限制为当前支持的Django版本1.4、1.7和1.8,以及相关的Python版本。

1.4.1 (2015-06-29)

  • 修复版本号(ezarowny)

  • 修复选择选项,不破坏nose-cover(aamirtharaj-rpx,jwhitlock)

  • 支持1.8应用程序加载系统(dgladkov)

  • 支持非ASCII文件名(singingwolfboy)

  • 更好地使用PEP8的断言名称(roganov)

1.4 (2015-04-23)

  • Django 1.8支持(timc3,adepue,jwhitlock)

  • 支持–testrunner选项(st4lk)

  • 修复py3k中REUSE_DB第二次运行的问题(edrmp)

1.3 (2014-12-05)

  • Django 1.6和1.7支持(conrado,co3k,Nepherhotep,mbertheau)

  • Python 3.3和3.4测试和支持(frewsxcv,jsocol)

1.2 (2013-07-23)

  • Python 3支持(melinath和jonashaag)

  • Django 1.5兼容性(fabiosantoscode)

1.1 (2012-05-19)

  • Django TransactionTestCases在自身完成后不会清理;它们在数据库中留下垃圾,只在_pre_setup中清理。因此,Django确保这些测试最后运行。现在django-nose也是如此。这意味着现有项目上的失败来源更少。(Erik Rose)

  • 添加对卫生事务测试用例的支持。(Erik Rose)

  • 支持仅用于测试的模型。只需将它们放在加载测试过程中导入的任何文件中。不再需要疯狂的操作。(Erik Rose)

  • 使固定束打包器更加保守,修复了一些在事务测试用例中间出现时固定束不会按预期显示的情况。(Erik Rose)

  • 修复了当使用带有连接池的SQLAlchemy时出现的错误。(Roger Hu)

  • 优雅地忽略Django 1.4中引入的新--liveserver选项;不要让它通过nose。(Adam DePue)

1.0 (2012-03-12)

  • 新固定束打包插件,用于避免不必要的固定束设置。(Erik Rose)

  • 将FastFixtureTestCase从test-utils移动到库中,因此所有固定束打包的内容都在一个库中。(Erik Rose)

  • 添加REUSE_DB设置以加快启动和关闭速度。(Erik Rose)

  • 修复了在打印某些详细程度时崩溃的问题。(Daniel Abel)

  • 删除了对MySQL的硬依赖。支持PostgreSQL。(Roger Hu)

  • 支持SQLite,包括基于内存和基于磁盘的SQLite。(Roger Hu和Erik Rose)

  • 确定包要求版本。(Daniel Mizyrycki)

_(更早的更改可以在完整文档中找到。)_

项目详情


下载文件

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

源分发

django-nose-1.4.7.tar.gz (45.0 kB 查看散列)

上传

构建分发

django_nose-1.4.7-py2.py3-none-any.whl (26.5 kB 查看哈希值)

上传时间 Python 2 Python 3

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面