问题标签 [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.

0 投票
1 回答
3797 浏览

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。

0 投票
1 回答
2184 浏览

python - django-nose - 在覆盖范围内排除目录

我正在使用django-nose它来测量我的测试套件的覆盖率。
我按照这个文档来做到这一点。

使用标准配置运行良好,我成功覆盖了我的所有应用程序。

我会views在不安装新包的情况下从覆盖范围中排除目录,所以我尝试以--ignore-files这种方式使用参数:

我的项目结构是

我使用以下命令从项目根目录运行测试套件:

不幸的是它不能正常工作,我的意思是 django-nose 似乎忽略了这个选项,并且视图目录包含在覆盖范围内。

我错过了什么?

0 投票
0 回答
352 浏览

python - Django 1.11 enter_transaction_management 替代品

我们使用 django 作为我们的主要后端,我们使用django-nose我们的单元测试框架。我们最近从 django 1.3 升级到 1.11,一个巨大的变化,我们面临以下问题。当我们使用 django 1.3 时,单元测试运行良好,但使用 django 1.11,它会抛出以下错误。

我们发现django-nosegithub 中有一个未解决的问题。对于这个问题,我想到了两种解决方案。1. 据我所知,enter_transaction_managementdjango managed1.11 中已弃用/删除了功能,1.11 中是否提供了任何替代或替代方案?2. 有什么好的替代品django-nose??

请帮忙

这些是github问题。

https://github.com/django-nose/django-nose/issues/226

https://github.com/django-nose/django-nose/issues/289

https://github.com/django-nose/django-nose/pull/258

0 投票
0 回答
587 浏览

django - 如何在 Django 中测试新用户激活?

我正在尝试使用 测试django.contrib.auth基于用户的注册视图django-nose,其中激活链接正在发送给新用户:

目前我使用 Django 内置电子邮件后端,以便将激活电子邮件发送到服务器终端。

我想测试需要uid和的激活视图token。有没有办法访问发送给用户的电子邮件?还有其他方法可以测试吗?

在测试中重新生成令牌不起作用,因为哈希值是使用时间戳生成的。

0 投票
0 回答
211 浏览

python - 刷新后 PostgreSQL + Django AutoField id 不会重新启动

我目前正在使用django-nose. 我将 PostgreSQL 用于我的数据库。我面临的问题是:

在测试setUp方法中,我创建了一个 Emp 实例并保存它。然后我执行这个:

但这不存在。在调试过程中,我发现 Emp 实例存在于 DB 中,但其 ID 为 137。

我认为这是 django-nose 的问题,因为它在每次测试后都会刷新数据库,但是之前的 empId 似乎仍然存在。

注意:我正在使用:

我的问题是,我该如何解决这个问题?有没有办法在每次setUp通话后重新启动 id 自动递增例程?

0 投票
1 回答
2276 浏览

python - ImportError:没有模块 django_nose

我遵循这个复数课程,每次运行命令时都会遇到这个错误:

我是 Django 框架的新手;问题可能是我的 django 版本(1.9.0)只支持 python 3.x 而不是 2.x?

点击图片查看更大、更清晰的图像。

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
281 浏览

django - WindowsError:尝试在 Django 中删除 FileField 时 [错误 32]

我正在编写一个 django-nose 测试来测试文档上传功能。在测试中,我使用SimpleUploadedFile()from模拟新文档django.core.files.uploadedfile。问题是与文档实例关联的文件无法在 Windows 上删除(Linux 上的测试通过)。我收到以下错误:

这是我的测试:

我的看法(reverse('delete')delete_document()):

以及附加到实例删除的信号:

有谁知道为什么会这样?

我已经尝试过(得到同样的错误):

  1. 用于with打开/关闭文件。
  2. 用来os.open()/os.read()/os.close()处理文件。
  3. 删除SimpleUploadedFile()并简单地new_doc = open()用于打开文件并将其传递给POST请求。

谢谢!

0 投票
0 回答
262 浏览

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 中,但我不知道是否需要其他任何东西来使用它。

这在一定程度上可以正常工作。例如,这是可以的:

这是怎么回事?

0 投票
2 回答
2460 浏览

python - 用鼻子测试运行 Django 测试

我的 python 应用程序测试是使用命令在远程服务器上执行的nosetests。我无法修改测试的启动方式,也无法为其添加选项。我有带有测试的 Django 应用程序,但测试无法正常工作。

我的项目结构:

命令nosetestsproject目录中执行。我希望它能够正常运行tests.py,它有 2 个 Django 测试用例。我尝试tests在项目根目录中创建目录并使用DiscoverRunner)调用测试:

它可以工作,但问题是所有测试都被视为单个测试,并且服务器会生成错误的报告。

另一个解决方案:如果我__init__.pyproject/mysite鼻子发现中添加空tests.py但测试失败,因为'Apps are not loaded yet'这可能意味着我必须django.setup()更早调用但我不知道该怎么做。我找到了一个用于鼻子的插件,但我无法在远程机器上安装插件或更改选项。

任何想法如何使我的任何方法解决问题?

0 投票
1 回答
31 浏览

python - django_nose 忽略包装测试

我有这样的包装纸

并测试:

django_nose runner 忽略包装的测试,并正常运行

Django 版本 2.0.2 django_nose 1.4.5

有任何想法吗?