Ene*_*Boy 5 python-3.x python-unittest
我有一个关于如何在 python 单元测试模块中正确导入模块的问题。这是我的目录结构
project -
| _ Library _
| |_ TimeCalculator.py
| _ Test _
|_ UnittestFile.py
Run Code Online (Sandbox Code Playgroud)
我想测试 TimeCalculator.py 中的函数,所以在 UnittestFile.py 中我写
from .Library.TimeCalculator import TimeCalculator
Run Code Online (Sandbox Code Playgroud)
但出现错误,提示ImportError:尝试在没有已知父包的情况下进行相对导入
我想问在这种情况下如何在不设置 PATH 的情况下导入。
如python - Running unittest with generic test directory Structure - Stack Overflow__init__.py中所述,您应该在两个文件夹中创建一个文件,Library并且Test.
对于您的具体结构:
\nproject\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Library\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py # make it a package\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 TimeCalculator.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py # also make test a package\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 UnittestFile.py\nRun Code Online (Sandbox Code Playgroud)\n.然后,您应该从导入句子中删除第一个:
from Library.TimeCalculator import TimeCalculator\nRun Code Online (Sandbox Code Playgroud)\nPD:不确定是否是一个重复的问题,因为答案几乎与 python 相同- 使用典型的测试目录结构运行单元测试 - Stack Overflow但明显不同,因为他必须删除第一个.
| 归档时间: |
|
| 查看次数: |
20392 次 |
| 最近记录: |