Как заставить Pycharm рекурсивно запускать все юнит-тесты python из папки tests - PullRequest
0 голосов
/ 07 декабря 2018

Я из Java, поэтому я организовал свои модульные тесты в отдельную иерархию параллельных тестов, которая отражает структуру моего основного проекта.Я использую PyCharm вместо Intellij или Eclipse.В обеих этих IE-средах я мог выбрать любой тестируемый пакет и рекурсивно запустить все юнит-тесты в этом пространстве имен.

Структура теста

+ tests
    + billing
        +  supplier
            + ClassName_tests.py - file
                - TestClassName  - class
                    - test_one() - functions
                    - test_two() - functions
    + config
        ...
    + invoicing
        ...

Возможно ли это с Pythonи / или PyCharm?В настоящее время мне нужно запустить тесты для каждого пространства имен / модуля в отдельности. Нужно ли мне что-то определять в PyCharm или Python.

Я прочитал и попробовал эту настройку, но он запускает все тесты в выбранной папке.не рекурсивно. Как заставить Pycharm запускать все юнит-тесты?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

В PyCharm, сначала установите ваш тестовый прогон по умолчанию enter image description here

Теперь щелкните правой кнопкой мыши по вашей папке "test".Должна быть опция «запустить py.test» (или аналогичная, в зависимости от того, какой тест вы выбрали).Вот и все, больше ничего не нужно.

(РЕДАКТИРОВАТЬ: Это работает в Professional Edition. Я не могу подтвердить, работает ли это в Community Edition или нет)

0 голосов
/ 07 декабря 2018

Вы можете использовать

python -m unittest discover -s project_directory -p "*_test.py"

или

python -m unittest discover project_directory "*_test.py"

Подробности в документе unittest Глава «Обнаружение теста»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...