一些背景--我正在做一个项目,一直在用PyTest写测试,文件夹的结构如下。
src/
...
tests/
helpers/
fixtures.py
functions.py
conftest.py
test1.py
test2.py
...
这个文件夹的结构如下: helpers
子文件夹中存放了应该可以在所有测试中访问的函数和夹具。conftest.py
:
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), 'helpers'))
from fixtures import fixture1, fixture2, ....
这实际上是可行的,夹具1,2,... 在不同的测试中都是可用的。
而且。
import functions
在任何文件中都能正常工作 tests
文件夹。
但问题是PyCharm不能识别这个变化,并将模块的固定装置、函数引用为有效,这就取消了自动完成,并给出了非常恼人的错误检查注释。
如果有人知道如何解决这个问题(在更新时通知PyCharm),或者给出另一种方法来解决这个问题(这就是为什么我给出了所有这些背景),我会非常感激。
在左边的项目视图中,您应该右键单击 helpers
文件夹,然后点击。Mark Directory as->Sources Root
,这样就能解决你的问题。
这样做之后,就不需要再进行 sys.path.append(os.path.join(os.path.dirname(__file__), 'helpers'))
在PyCharm中.
但由于你已经有了一个工作系统,并试图摆脱恼人的错误错误,只标记目录为源根应该做的伎俩就好了。