使用配置文件进行测试

Testing with configuration files

我的 Google-fu 给我的结果让我失望了,我不明白,所以我在这里问。

我正在开发一个 Python 项目,我目前有一个配置文件,它也是 .py,其中包含各种 python 对象以在一切开始时加载。我正在尝试使用 pytest 进行一些练习单元测试,但我不知道如何解决这个问题。我的猜测是我可能会制作一个不会更改的专用测试配置文件,但我不知道如何告诉我的代码何时使用实际配置文件以及何时使用测试配置文件。我当前在代码中的设置只是使用 import config 并从中设置值。非常感谢您的帮助!

根据 this 想出了一些东西。

我最终在名为“tests”的文件夹中创建了一个测试配置文件,并将此代码放在每个使用它的文件的顶部:

import sys
if "pytest" in sys.modules:
    import tests.testing_config as config
else:
    import config

我不认为它是最佳选择,因为我觉得在测试代码中应该有这样的东西,而且它使新的配置文件成为一个永远不应该更改的依赖项,以免破坏一切,但我猜如果你不知道这些破解的测试库是如何像我一样工作的,它现在就可以工作了。