имя 'b' не определяется при импорте из модульного теста - PullRequest
0 голосов
/ 31 мая 2018

Я только что создал модульный тест для своего кода и поместил его в каталог тестов.Он проверяет функциональность модуля a, который зависит от модуля b.Мое дерево каталогов выглядит так:

├── 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'

Что я могу сделать, чтобы сохранить эту структуру и иметь возможность запустить и мою программу, и тест?

...