这是从主源文件夹外部进行测试的特殊用例。
main
没有理由成为一个包裹,有没有理由不把它做成一个。
imho,最好的方法是从主目录启动测试。因为当前目录总是在
sys.path
,
sub1
将直接导入,这就足够了:
from sub1 import SomeClass
但是,根据您的开发环境,您可能需要直接从测试目录或除main以外的任何目录启动测试。在这种情况下,我不确定它是否真的是一个最佳实践,我只将其用于我的测试,但一个简单的技巧是将测试文件夹的父文件夹添加到
搜索路径
.
这可能是
test.py
:
import os.path
import sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
from sub1 import SomeClass
...
照它的样子来:A
搜索路径
只允许从测试文件夹访问主源文件夹的技巧。