[英]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.