问题标签 [django-nose]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Django override_settings 不适用于运行多个测试
override_settings
使用装饰器时我的行为有点奇怪。当我单独运行测试时,它基本上可以工作,但如果我运行整个测试套件,它将无法工作。
在此测试中,我正在更改REST_FRAMEWORK
选项,因为在运行此套件时我想设置身份验证设置,而其他测试不使用身份验证:
所以如果我这样做...
$ python manage.py test myapp/tests/test_auth.py
这些设置已应用并且效果很好!
但是如果运行整个测试套件,例如:
$ python manage.py test
测试将失败。在我看来,这些设置(或某些对象)正在从其他测试中缓存。我在另一个测试文件中还有另一个类,它以类似的方式使用客户端实例。
环境:
Python: 2.7
Django: 1.10
编辑:
我发现这个问题的解决方法是使用 find 来运行测试,它可以是别名或脚本...
find . -name 'test*.py' -exec python manage.py test {} \;
缺点是许多测试的输出会堆积在屏幕上,并且可能会创建/破坏测试数据库几次。除非您在使用 django-nose 时向命令中添加选项,例如 REUSE_DB。
python - django-nose - 在覆盖范围内排除目录
我正在使用django-nose
它来测量我的测试套件的覆盖率。
我按照这个文档来做到这一点。
使用标准配置运行良好,我成功覆盖了我的所有应用程序。
我会views
在不安装新包的情况下从覆盖范围中排除目录,所以我尝试以--ignore-files
这种方式使用参数:
我的项目结构是
我使用以下命令从项目根目录运行测试套件:
不幸的是它不能正常工作,我的意思是 django-nose 似乎忽略了这个选项,并且视图目录包含在覆盖范围内。
我错过了什么?
python - Django 1.11 enter_transaction_management 替代品
我们使用 django 作为我们的主要后端,我们使用django-nose
我们的单元测试框架。我们最近从 django 1.3 升级到 1.11,一个巨大的变化,我们面临以下问题。当我们使用 django 1.3 时,单元测试运行良好,但使用 django 1.11,它会抛出以下错误。
我们发现django-nose
github 中有一个未解决的问题。对于这个问题,我想到了两种解决方案。1. 据我所知,enter_transaction_management
django managed
1.11 中已弃用/删除了功能,1.11 中是否提供了任何替代或替代方案?2. 有什么好的替代品django-nose
??
请帮忙
这些是github问题。
https://github.com/django-nose/django-nose/issues/226
django - 如何在 Django 中测试新用户激活?
我正在尝试使用 测试django.contrib.auth
基于用户的注册视图django-nose
,其中激活链接正在发送给新用户:
目前我使用 Django 内置电子邮件后端,以便将激活电子邮件发送到服务器终端。
我想测试需要uid
和的激活视图token
。有没有办法访问发送给用户的电子邮件?还有其他方法可以测试吗?
在测试中重新生成令牌不起作用,因为哈希值是使用时间戳生成的。
python - 刷新后 PostgreSQL + Django AutoField id 不会重新启动
我目前正在使用django-nose
. 我将 PostgreSQL 用于我的数据库。我面临的问题是:
在测试setUp
方法中,我创建了一个 Emp 实例并保存它。然后我执行这个:
但这不存在。在调试过程中,我发现 Emp 实例存在于 DB 中,但其 ID 为 137。
我认为这是 django-nose 的问题,因为它在每次测试后都会刷新数据库,但是之前的 empId 似乎仍然存在。
注意:我正在使用:
我的问题是,我该如何解决这个问题?有没有办法在每次setUp
通话后重新启动 id 自动递增例程?
python - ImportError:没有模块 django_nose
我遵循这个复数课程,每次运行命令时都会遇到这个错误:
我是 Django 框架的新手;问题可能是我的 django 版本(1.9.0)只支持 python 3.x 而不是 2.x?
点击图片查看更大、更清晰的图像。
django - WindowsError:尝试在 Django 中删除 FileField 时 [错误 32]
我正在编写一个 django-nose 测试来测试文档上传功能。在测试中,我使用SimpleUploadedFile()
from模拟新文档django.core.files.uploadedfile
。问题是与文档实例关联的文件无法在 Windows 上删除(Linux 上的测试通过)。我收到以下错误:
这是我的测试:
我的看法(reverse('delete')
指delete_document()
):
以及附加到实例删除的信号:
有谁知道为什么会这样?
我已经尝试过(得到同样的错误):
- 用于
with
打开/关闭文件。 - 用来
os.open()/os.read()/os.close()
处理文件。 - 删除
SimpleUploadedFile()
并简单地new_doc = open()
用于打开文件并将其传递给POST
请求。
谢谢!
python - 无法使用 Django 1.8 运行单个测试
遵循这两个 答案中的建议后,我仍然无法按照它描述的方式只运行一个 django 测试。我可以全部运行它们,但这需要很长时间并且使调试更加困难。
我的项目结构如下所示:
例如,当整个测试套件运行时,其中一个失败的测试会给出以下输出:
失败:test_changepassword (mainapp.users.tests.test_views.ChangePasswordTest)
但是当我尝试使用 Django 运行该 Django TestCase 时...
或 django-nose 语法...
当我在 PyCharmCE 调试模式下运行它时,它确认模块对象没有属性,但我不知道为什么。
我已经安装了 django-nose (1.4.5),它在我的 INSTALLED_APPS 中,但我不知道是否需要其他任何东西来使用它。
这在一定程度上可以正常工作。例如,这是可以的:
这是怎么回事?
python - 用鼻子测试运行 Django 测试
我的 python 应用程序测试是使用命令在远程服务器上执行的nosetests
。我无法修改测试的启动方式,也无法为其添加选项。我有带有测试的 Django 应用程序,但测试无法正常工作。
我的项目结构:
命令nosetests
在project
目录中执行。我希望它能够正常运行tests.py
,它有 2 个 Django 测试用例。我尝试tests
在项目根目录中创建目录并使用DiscoverRunner
)调用测试:
它可以工作,但问题是所有测试都被视为单个测试,并且服务器会生成错误的报告。
另一个解决方案:如果我__init__.py
在project/mysite
鼻子发现中添加空tests.py
但测试失败,因为'Apps are not loaded yet'
这可能意味着我必须django.setup()
更早调用但我不知道该怎么做。我找到了一个用于鼻子的插件,但我无法在远程机器上安装插件或更改选项。
任何想法如何使我的任何方法解决问题?
python - django_nose 忽略包装测试
我有这样的包装纸
并测试:
django_nose runner 忽略包装的测试,并正常运行
Django 版本 2.0.2 django_nose 1.4.5
有任何想法吗?