簡體   English   中英

打包__init__進行測試

[英]Package __init__ for a test

我在項目中有以下結構:

app/
    __init__.py
    main.py
    tests/
        __init__.py
        test_a.py
        test_b.py

我想在tests包下初始化測試的日志記錄。 我將初始化代碼放在app/tests/__init__.py ,假設它在任何測試運行之前運行,但我發現情況並非如此。

如何在以下場景中運行此初始化代碼?

  • 從命令提示符運行python test_a.py
  • 在eclipse \\ aptana \\ pycharm下運行test_a.py作為單元測試時
  • 在eclipse \\ aptana \\ pycharm下運行整個測試套件時

您可以將記錄器配置文件用於正常運行和測試,這是使用不同配置的最安全方式。

“解決方法”方式是重新創建記錄器。 您可能剛剛在__init__.py中添加了新的記錄器? 配置完成后,日志記錄會保持配置,並且只允許擴展。 但是,您可以嘗試重新創建整個記錄器,如下所述: 運行logging.basicConfig之前的Python日志記錄? 例如:

root = logging.getLogger()
if root.handlers:
    for handler in root.handlers:
        root.removeHandler(handler)
# now create your test config
logging.basicConfig(format='%(asctime)s %(message)s',level=logging.DEBUG)

將此代碼添加到test.py文件中,或將其添加到__init__.py中,但您可能需要:

from tests import *

使它在測試中執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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