问题标签 [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.
django - django 测试(鼻子)在添加包固定装置后卡住
我用nosetests 进行了django 测试。
但是在我添加了package fixtures之后,python manage.py test 无法正常运行并卡住了。
包固定装置(我已将其最小化以调试失败原因):
在我正常运行测试后,外壳卡住了:
python - 如何防止 django 测试显示 sys.stdout 消息?
我的问题是,由于我在运行单元测试时已将日志记录添加到我的 django 应用程序中,因此我的所有日志消息都显示在控制台中。我用鼻子作为测试跑步者。它通常的行为是捕获sys.stdout
,仅在测试失败时显示控制台输出并在最后显示。
我在运行测试时曾经有这个输出:
这是我现在运行时得到的输出python manage.py test accounts
:
当我使用 Python 标准日志库向我的代码添加日志记录时,这种情况就开始发生了。我改变了我的settings.py
和views.py
。您可以在下面检查我所做的更改。
有人可以帮助我保留日志记录,但在运行测试时避免烦人的额外输出吗?
添加到settings.py
添加到我的观点
django 用来运行我的测试的命令
鼻子测试跑步者的配置settings.py
(工作时相同)
json - 数据库模型自定义 JSONField 值在测试用例之间持续存在
我正在使用 Django 数据库模型来存储与远程票务服务相对应的对象。在测试这个模型时,我运行了几个测试以确保日志消息对于数据库模型正常工作——我正在使用 Django-nose 来运行这些测试。
数据库模型看起来像这样,使用JSONField
来自这个 StackOverflow 答案的小修改以支持列表和字典:
测试(按照它们运行的顺序)如下所示:
第一次测试通过,完全没问题。该断言语句的第二个测试失败,因为entity.queued_ticket_data
看起来像这样:
前两个元素在测试一开始就存在,在我们调用TicketEntity.create()
. 它们不应该在那里——新实例应该是干净的,因为我们是从头开始创建它的。
同样,tickets
也是预填充的。TicketEntity
有其他不是 s 的字段,它们JSONField
似乎没有表现出这个问题。
有人可以解释为什么会发生这个问题,以及我们需要什么样的修改来修复?
python - 如何在我使用 python nosetests 时指定要运行的方法的参数?
例如:有一个函数要由nosetest运行,
当我在控制台中运行命令“nosetest”时如何指定此函数的参数?
请帮助我,很多tks!
python - 仅在使用 Django Nose 测试运行程序时出现错误:在 include() 的情况下,视图必须是可调用的或列表/元组
当我使用 Django 的默认测试运行器时,我的所有测试都按预期运行。当我添加TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
到我的项目设置中时,我收到一个TypeError
状态view must be a callable or a list/tuple in the case of include().
我使用的是 Django 版本 2.1.5,并且真的不知道从哪里开始调试这个错误。在这种情况下,我的测试运行和抛出错误之间的唯一settings.py
区别是将上述行包含到我的文件中。
有没有人遇到过这个问题?我得到了我所有的观点。
我的主要mysite/urls.py
路径如下所示(根据 Django 的文档):
哪个,只是为了看看它是否会做任何事情,我改为:
但这根本没有改变错误。
这不是与此错误的任何其他问题的重复。仅当我用作测试运行器时才会出现此问题。django_nose
我没有在我的任何urls.py
文件中使用字符串引用我的视图。
编辑:仅使用 Django 的默认测试运行程序运行时,我没有得到相同的错误。coverage run manage.py test
python - Django-nose 失败 - KeyError: u'en-us'
我的所有TestCase
文件都在一个名为“测试”的 django 应用程序中。使用以下命令运行特定的TestCase
工作正常:
python run manage.py test tests.myTestCaseFile
但是,当我在测试文件夹中运行整个测试用例集时,它会失败:
python run manage.py test tests
在这种情况下,会触发许多 ImportErrors 以及 KeyError: 'en-us'。基本上每一个TestMethod
错误都以一种或另一种方式出现。
有什么想法可以在这里发生吗?
注意:我已经尝试在 shell 中导入 myapp.urls 并且 reverse(urlname) 在那里工作得很好..
python - 使用 django-nose 但不使用 Django 的 DiscoverRunner 运行测试时出现重复的关键错误
当我使用默认的 Django testrunner ( django.test.runner.DiscoverRunner
) 运行测试时,一切正常。当我使用nose(用于XML 输出)运行它们时,我IntegrityErrors
从不属于我的测试中得到。
我不知道这是什么或为什么它只由 django-nose 测试运行程序运行。
这是错误的完整堆栈跟踪
在我的测试中,我没有创建一个电子邮件地址为“test@email.com”的测试用户,而且我在这个堆栈跟踪中的任何地方都看不到我的任何代码,所以我不知道它来自哪里或为什么它只当我用 django-nose 运行测试时出现。
python - 为什么在使用 Django 的覆盖工具时出现“KeyError”错误
我正在开发一个 django API。现在我在端点上做一些测试,当我执行'python manage.py test'时一切顺利。但是当我使用标志'--with-coverage'或'coverage run --source='。manage.py 测试应用程序 && 覆盖率报告”我收到错误“KeyError:“BREAK_LOOP”。有人可以帮助我吗?
代码
错误
django - 为什么鼻子会忽略覆盖率报告中的某些文件?
我正在对分配给我的项目进行测试。一切都是通过调用 tox 来触发的。默认测试使用nose运行,它添加了一个覆盖率报告,这是tox调用的命令:
和设置文件有这个鼻子的配置:
这是使用 tox 流鼻涕时显示的报告:
但是,如果在它之后我运行coverage report
它会显示:
现在,如您所见,鼻子报告忽略了某些文件,但覆盖率显示了某些文件,例如app_name/services/account_service.py
. 由于该文件包含功能代码,因此应在报告中显示。
有趣的是,据我所知,这两个库:nose 和 coverage 都从同一个报告文件生成它们的报告.coverage
我想这是一个默认的鼻子行为。我对鼻子不是很熟悉,所以也许有人可以告诉我为什么会发生这种行为差异。