python - 运行 Django 测试时如何查看标准输出?

标签 python django debugging testing stdout

当我使用 ./manage.py test 运行测试时,我通过 print 发送到标准输出的任何内容都不会显示。当测试失败时,我会在每个失败的测试中看到一个“stdout” block ,所以我猜 Django 会捕获它(但在测试通过时不会显示它)。

最佳答案

settings.py 中检查了 TEST_RUNNER,它使用的是调用 Nose 的项目特定运行器。 Nose 有 -s 选项来阻止它捕获 stdout,但如果我运行:

./manage.py test -s

manage.py 首先捕获它并抛出“没有这样的选项”错误。 manage.py 的帮助没有提到这一点,但我发现如果我运行:

./manage.py 测试 -- -s

它忽略了 -s 并让我在自定义运行者的一侧捕获它,将它传递给 Nose 没有问题。

关于python - 运行 Django 测试时如何查看标准输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1236285/

相关文章:

python - 如何编写迭代器?

django - 使用 Django QuerySet 分块处理数据库的最佳方法?

python - 用户使用 DRF token 身份验证登录后,如何在 HTTP 响应中返回用户 ID?

Django:员工装饰师

asp.net - 如何打破 ASP.NET 中未处理的异常?

linux - gdb 调试剥离的可执行文件

python - Python新手,找不到bug

python - 在 Django 中访问模型 FileField 的 "upload_to"?

python - Tesseract 选项和图像预处理

Python - 函数继承 - 更改关键字参数