我对如何在python单元测试模块中正确导入模块有疑问。 这是我的目录结构
project -
| _ Library _
| |_ TimeCalculator.py
| _ Test _
|_ UnittestFile.py
,我想测试TimeCalculator.py中的函数 所以在UnittestFile.py中,我写了
from .Library.TimeCalculator import TimeCalculator
但是出现错误提示 ImportError:尝试了相对导入,但没有已知的父包
我想问一下在这种情况下如何导入而不设置PATH。
答案 0 :(得分:0)
如python - Running unittest with typical test directory structure - Stack Overflow中所述,您应该在两个文件夹__init__.py
和Library
中创建一个Test
文件。
针对您的特定结构:
project
├── Library
│ ├── __init__.py # make it a package
│ └── TimeCalculator.py
└── test
├── __init__.py # also make test a package
└── UnittestFile.py
然后,您应该从导入语句中删除第一个.
:
from Library.TimeCalculator import TimeCalculator
PD:不确定是否是重复的问题,因为答案与python - Running unittest with typical test directory structure - Stack Overflow几乎相同,但明显不同,因为ha必须删除第一个.
< / p>