Я написал модуль для установки через pip со структурой dir, такой как:
bin/myapp
src/mymodule
src/mymodule/__init__.py
src/mymodule/config.py
src/mymodule/file1.py
src/mymodule/file2.py
tests/func/
tests/unit/file1/test_func1.py
tests/unit/file1/test_func2.py
tests/unit/file2/test_func1.py
setup.py
setup.cfg
setup.py содержит:
scripts=['bin/myapp'],
myapp импортирует mymodule и является скриптом-оболочкой, который выполняет код модуля по мере необходимости. например myapp содержит:
import mymodule
def main(config_file):
mymodule.read_config(config_file)
...
mymodule.do_something_else
...
if __name__ == '__main__':
...
main(config_file)
Я хочу написать тест в 'func /' (func / test_myapp.py), который настроит структуру каталогов, а затем выполнит "myapp", который вызывает мой модуль для сквозного теста (мне нужно будет подделать некоторые функции, поскольку они вызывают реальные исполняемые файлы, которые не существуют на тестовой машине).
Но я не могу найти хорошую статью, в которой рассказывается, как импортировать bin / myapp, чтобы его можно было протестировать.
Любая помощь приветствуется.
P.S. Пример кода должен быть совместим с 2.7 и 3.x, поэтому оба тега помечены.