我有很多单元测试Django https://www.djangoproject.com/如果测试失败,我经常需要查看日志(如果可能的话,在控制台中)。我无法真正使用日志文件,因为它变得非常混乱。
我现在要做的是:激活控制台日志记录settings.py
,并且仅运行一项特定测试。我希望有一种更方便的方法来做到这一点。我只想查看失败的测试所记录的内容,而不是完整的日志。
Edit:尽管答案已经发布——并且我已经接受了——但我还是不太满意。我只想查看失败测试的日志输出。我一直在寻找这样的解决方案PHPUnit https://phpunit.de/提供。它捕获完整的输出(用于日志记录+打印)并仅将其写入stdout
如果测试失败。
将根记录器设置为仅在运行测试时使用控制台处理程序。最简单的检测方法是查看“test”是否是第二个 argv 参数。确保所有有趣的记录器都有"propagate": True
以便他们将日志转发到根记录器。
# settings.py
import sys
if sys.argv[1] == 'test':
LOGGING['root'] = {
'handlers': ['console'],
'level': 'DEBUG',
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)