簡體   English   中英

如何在 Python 的單元測試中設置日志記錄級別

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM