【发布时间】:2018-01-19 14:15:54
【问题描述】:
以前我在没有单元测试的情况下工作,我的项目有这样的结构:
-main.py
-folderFunctions:
-functionA.py
只使用folderFunctions中的init文件,然后导入
from folderFunctions import functionA
一切正常。
现在我也有以这种方式组织的单元测试:
-main.py
-folderFunctions:
-functionA.py
-folderTest:
-testFunctionA.py
所以我必须在 functionA.py 和 testFunctionA.py 中添加(为了运行 testFunctionA.py)这两行来导入路径:
myPath = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, myPath + '../..')
通过这种方式,测试可以正常工作。 但这对我来说很丑,我想也不是很pythonic。 有没有办法让它更优雅?
【问题讨论】:
-
在
main.py所在的同一级别上创建一个名为tests的文件夹,并将所有测试放在其中。 -
@orangelnk 我读到通常测试文件夹与功能处于同一级别或更深层次。主要级别仍然是pythonic吗?
-
我不得不承认,在包装方面我远非专家,但 99% 的情况下,当我查看一个包裹时,我会看到与 @ 相同级别的
tests文件夹987654328@ 位于(意味着比所有实际代码高 1 级)。
标签: python testing path directory subdirectory