将__init__.py添加到pytest的tests文件夹后,为什么能够在调试器中导入模块

时间:2018-07-31 14:52:00

标签: python pycharm python-3.6 pytest

我正在使用Python 3.6.5,并使用py.test进行测试。

我的测试文件夹具有以下结构。

management.endpoint.health.show-details=ALWAYS

management: endpoint: health: show-details: "ALWAYS"中,我导入tests/ some_folder/ test_module.py utils.py 以便从那里使用某些功能。在test_module.py中,我有一个测试函数,该函数在执行时可以完美运行,但是当我尝试在PyCharm中调试它时,会收到

utils.py

因此,我尝试将我的tests文件夹转换为一个包,它解决了该问题。现在,我的测试结构如下:

test_module.py

但是为什么它可以解决问题呢?为什么只运行测试就不会出现问题?

1 个答案:

答案 0 :(得分:0)

这是一个pycharm怪癖。解决您遇到的问题的更好方法是将文件夹标记为源根目录,并确保选中了这些框make sure these boxes are selected