在使用nose测试Python代码时,如何验证日志消息?

7 浏览
0 Comments

在使用nose测试Python代码时,如何验证日志消息?

我试图编写一个简单的单元测试,以验证在某种条件下,我的应用程序中的一个类会通过标准的日志记录API记录错误。我无法确定最简洁的测试方法是什么。

我知道nose已经通过其日志插件捕获日志输出,但这似乎是用于报告和调试失败的测试。

我能想到的两种方法是:

  • 模拟日志记录模块,可以是一种逐个模拟的方式(mymodule.logging = mockloggingmodule),也可以使用一个合适的模拟库。
  • 编写或使用现有的nose插件来捕获输出并进行验证。

如果我选择前一种方法,我想知道将全局状态重置为模拟日志记录模块之前的状态的最简洁方法。

期待您对此的提示和建议...

0