如何在manage.py测试中禁用日志记录?
我在用标准的Python日志模块。当我运行 python manage.py test
时,我想在所有测试开始之前先关闭日志记录。请问有没有什么信号或者其他方法可以让我调用 logging.disable?或者有没有其他方式可以在运行 python manage.py test
时关闭日志记录?
7 个回答
11
我用过的最简单的东西:
import logging
class MyTestClass(TestCase):
def setUp(self):
logging.disable(logging.CRITICAL)
这个不需要任何编辑、修补、额外安装等等。所有的日志记录功能都是完全关闭的。
12
其实有一个更好的方法可以做到这一点,使用 django-nose 这个工具,它有一个叫做 kwarg 的参数。
你只需要运行:
./bin/manage.py test --logging-clear-handlers
2
我知道的唯一方法就是直接修改 manage.py
这个文件……虽然这样做不是很优雅,但至少能让你达到想要的效果。