Unittest 模块导入问题
我的项目文件夹结构如下:
project/
__init__.py (empty)
tests/
__init__.py (empty)
tests.py
src/
__init__.py
a.py
b.py
c.py
测试/tests.py
import unittest
from a import A
my_a = A()
class TestClass(unittest.TestCase):
# Some tests
pass
src / init.py
__all__ = ["a", "b", "c"]
src/a.py
from b import B
src/b.py
from c import C
src/c.py
pass
当我从命令行运行代码时一切正常,但测试它时会引发此错误: ModuleNotFoundError:没有名为“b”的模块
我做了大量研究,可以归纳为以下链接:
- Python unittest 无法解析导入语句
- 使用典型的测试目录结构运行 unittest
- 如何编写良好/正确的包 __init__.py 文件
- https://docs.python.org/3/tutorial/modules.html#packages
现在我真的很困惑__init__.py
在这种情况下该如何工作,以及为什么我的测试找不到导入的模块路径。有人能帮我解决这个问题吗?
从.b 导入 B
从.c 导入 C