Ответ 1
Я не верю, что есть "лучшие практики" о том, куда положить tests
. Посмотрите, сколько существует разных мнений: Где проходят модульные тесты Python?
У меня был бы один и единственный каталог tests
на верхнем уровне, рядом с вашими каталогами bin
и mypackage
- как, например, django имеет.
Для запуска bin
script и получения результатов вы можете использовать:
-
subprocess (как вы уже упоминали), но используя
check_output
:import subprocess output = subprocess.check_output("cat /etc/services", shell=True)
-
- был создан для
test command-line scripts
- выглядит как инструмент для работы - также см. статья
- был создан для
- cli и cli.test модуль (никогда не использовались лично)
Надеюсь, что это поможет.