Когда модуль python имеет несколько подпакетов, где следует размещать тесты для функций в этих подпакетах?
Я вижу два способа, которыми это можно сделать:
- Создать отдельный
test
в каждом подпакете и поместите туда свои тесты. - Дублируйте иерархию пакетов в папке
test
верхнего уровня, поместив тесты для каждого подпакета в соответствующую папку.
Однако не ясно, какой вариант предпочтительнее.
Для пакета foo
, скомпонованного так:
foo/
__init__.py
bar.py
baz/
__init__.py
baz.py
Я ставлю тесты здесь?
foo/
__init__.py
bar.py
baz/
__init__.py
baz.py
test/
__init__.py
test_bar.py
baz/
__init__.py
test_baz.py
или здесь?
foo/
__init__.py
bar.py
baz/
__init__.py
baz.py
test/
__init__.py
test_baz.py
test/
__init__.py
test_bar.py