nose2插件通过nose2而不是django测试运行器运行django测试。

nose2django的Python项目详细描述


nose2的一个插件对,它通过nose2命令运行django(>;=1.4)测试,还支持django-configurations设置管理。它允许django初始化测试环境并设置测试套件的顺序,但是nos2/unittest2处理测试发现和执行。

还有一个名为django-nose的项目,由nose2开发人员之一编写。它使用标准的django方法设置一个替代的测试运行程序并通过manage.py运行。我对将setup.py配置转换为setup.cfg很感兴趣,并希望尝试运行测试的模式,而不是将配置包装到自定义测试运行器中。现代django重构了项目初始化的方式,这意味着对使用manage.py和django-admin.py作为django项目唯一可能的入口点的依赖性降低了。

安装

$ pip install nose2django

在项目的根目录(manage.py所在的目录)中创建一个nose2.cfg文件,并按正确的顺序注册插件:

[unittest]
plugins = nose2django.config
        nose2django.nose2django

[django-config]
always-on = True

# optional settings
settings = yourproject.settings
configuration = YourTestConfiguration

[django-runner]
always-on = True

您可以选择将设置配置设置为django设置模块和django配置配置。它优先于任何现有的环境。

用法

根据nose2,可以选择django runner选项之一。

$ nose2 --settings=example.settings.test --configuration=TestSettings

模式

对于django应用程序的测试驱动开发,您只需要根据需要进行尽可能多的django设置。在顶层目录中创建一个tests文件夹(避免使用名称tests-使用类似test_yourApp的东西来避免名称冲突),并在其中放置一个最小设置文件和一个.py文件以使其可导入。例如:

DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3'}}INSTALLED_APPS=('django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','yourapp',)ROOT_URLCONF='yourapp.urls',# if you have urlsSECRET_KEY='1234'

致谢

Noe2Django重新使用现有的Django测试转轮代码的部分,由django授权。

更改日志

V0.1.2(2013-4-13)

  • 添加南方兼容性。

V0.1.1(2013-4-6)

  • 修复nose-v时django日志设置的问题。

v0.1(2013-03-29)

  • 首次公开(正确打包)发布。谢谢毒物。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
安卓 studio安装的java Unity本机广告   java如何将映射转换为对象   java我试图使用rest控制器从h2数据库中检索记录,但它说没有数据集   反思为什么会抛出java。lang.InstanceException?   在opensuse中找不到Java/javac   java为Android上的谷歌地图添加了5900多个标记。如何有效地做   java如何在if语句中使用循环   java如何在JPA(Hibernate)中映射一对多关系和复合主键?   如何在Java中读取和写入外部进程?   Java线程。睡眠时间最短   java使用EclipseGradle插件如何离线托管和使用依赖项(库jar文件)   java为什么虚拟引用在排队时没有被清除?   java无法理解如何创建用于响铃报警的取消按钮   java解析不应通过注入容器错误发生   java Toast或ProgressDialog不显示   java在自定义对象上使用优先级队列的更好方法   java格式的。wmv文件。(或者任何视频文件都很好)   从页面调用另一个侦听器后,不会调用java JSF<f:ajax>侦听器   java注释ConfigApplicationContext不能多次刷新有什么原因吗?