gpt4 book ai didi

python - 打包 __init__ 进行测试

转载 作者:行者123 更新时间:2023-11-28 19:26:21 26 4
gpt4 key购买 nike

我在一个项目中有以下结构:

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 中添加了新的记录器?配置后,日志记录将保持其配置状态,并且只允许扩展。但是,您可以尝试重新创建整个记录器,如下所述: Python logging before you run logging.basicConfig?例如:

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 *

让它在测试中执行。

关于python - 打包 __init__ 进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10994557/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com