py2app: Как мне запустить тесты, используя встроенный интерпретатор python?

Я использую py2app для упаковки моего приложения. Несколько быстрых заметок о моем приложении:

  • Он использует специальный исполняемый файл python (то есть не системный python), который py2app включает в комплект.
  • Я явно исключаю несколько пакетов из site-packages.zip, используя функцию рецепта py2app.

В прошлом у меня иногда возникали проблемы с пакетом приложений, потому что я забыл исключить определенные пакеты из site-packages.zip. Это было легко исправить, как только я обнаружил проблему, но я не сразу ее обнаружил, потому что рассматриваемые пакеты в основном работали. Проблема проявилась только после тестирования особых случаев, в которых используются специфические субмодули в проблемной зависимости.

Чтобы избежать подобных проблем в будущем, я хочу запустить набор тестов с использованием того же точного интерпретатора, который py2app включает в мой комплект. Чтобы это работало, мне нужна правильная настройка среды, которая каким-то образом автоматически создается при запуске приложения (включая PYTHONPATH, DYLD_LIBRARY_PATH, так далее.).

Просто используя ./dist/MyBundle.app/Contents/MacOS/python запускать мои тесты, похоже, не сработает. Какой метод рекомендуется использовать для запуска тестов на полностью собранном комплекте приложений?

1 ответ

Решение

Вы можете использовать опцию --extra-scripts, представленную в py2app 0.7, чтобы включить второй скрипт, который запускает тест в комплекте приложений и использует его для запуска тестов.

Я согласен, что было бы неплохо иметь способ запуска сценариев в среде приложения. Не могли бы вы сообщить об этом в репозиторий py2app по адресу https://bitbucket.org/ronaldoussoren/py2app?

Другие вопросы по тегам