Python单元测试找不到模块

时间:2020-06-15 07:05:15

标签: python-3.x python-unittest

我对如何在python单元测试模块中正确导入模块有疑问。 这是我的目录结构

project -
        | _ Library _
        |            |_ TimeCalculator.py
        | _ Test _
                  |_ UnittestFile.py

,我想测试TimeCalculator.py中的函数 所以在UnittestFile.py中,我写了

from .Library.TimeCalculator import TimeCalculator

但是出现错误提示 ImportError:尝试了相对导入,但没有已知的父包
我想问一下在这种情况下如何导入而不设置PATH。

1 个答案:

答案 0 :(得分:0)

python - Running unittest with typical test directory structure - Stack Overflow中所述,您应该在两个文件夹__init__.pyLibrary中创建一个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>