从单元导入时未定义名称“b”

2024-04-25 10:12:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚为我的代码创建了一个单元测试,并将它放在一个测试目录中。它测试依赖于模块b的模块a的功能。我的目录树如下所示:

├── src
|   ├── __init__.py
|   ├── a.py
│   ├── b.py
├── test/
│   ├── __init__.py
│   ├── unit.py

单元测试如下所示:

import unittest
from src import a

class TestUtils(unittest.TestCase):
    def test_function(self):
    self.assertEqual(a.func(), 1)

if __name__ == '__main__':
    unittest.main()

当我跑步时:

python test/unit.py

我得到一个错误:

Traceback (most recent call last):
  File "test/unit.py", line 2, in <module>
    from src import a
  File "/home/src/a.py", line 13, in <module>
    from b import B
 ImportError: No module named 'b'

我能做些什么来保持这个结构,并且能够运行我的程序和测试?你知道吗


Tags: 模块frompytestimportselfsrc目录