【发布时间】:2013-09-18 16:28:53
【问题描述】:
我正在使用来自 testfixtures 的 LogCapture 对象来单元测试日志记录语句。效果很好。
但是,在我的测试套件中,日志实际上被发送到控制台(对于 Jenkins 来说很混乱),更糟糕的是,发送到 Sentry!
我不想重写 LOGGING 设置;这似乎破坏了测试本身。如何在捕获日志的同时防止这些排放?
【问题讨论】:
-
这是一个选项:在
settings.py中检查if 'test' in sys.argv:并关闭控制台和哨兵记录器? -
在这里查看我的答案:stackoverflow.com/questions/5255657/…
-
@Hassek:我喜欢你的回答(在问这个问题之前看过它),但它不适用于这种情况。我不想精确地禁用日志记录,因为我想捕获它以在我的单元测试中使用。相反,我只想让发射静音。
-
哦,很有趣,如果你发现了一些关于它的信息,请告诉我,但我猜测你需要在测试开始时将静音功能添加到日志配置中。
标签: python django unit-testing logging