[英]How to set logging level in a unit test for Python
我正在我的库中运行一个特定的单元测试,我想从中获得更多的日志记录。 我以以下方式运行它:
python -m unittest my_module.my_submodule_test.MyTestClass.test_my_testcase
因为我正在这样做,所以my_submodule_test.py
文件不会运行我设置日志级别的底部,如下所示:
if __name__ == '__main__':
logging.getLogger().setLevel(logging.DEBUG)
unittest.main()
如何以编程方式设置日志级别,以便从测试中获得更详细的日志记录?
另外,我希望能够通过命令行参数设置日志记录。 有没有办法做到这一点?
可以做到这一点的一种方法是在setUp
子类的设置代码中TestCase
。 您将执行以下操作:
class MyTestClass(unittest.TestCase):
def setUp(self):
logging.basicConfig(level=logging.DEBUG)
logging.getLogger().setLevel(logging.DEBUG)
您可以使用logging.basicConfig(level=logging.DEBUG)
或logging.getLogger().setLevel(logging.DEBUG)
。
这应该为您的整个项目激活日志记录(除非您在您关心的层次结构中更改记录器的级别)。
不幸的是,我不知道从命令行执行此操作的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.