Я хочу начать писать модульные тесты для моего кода Python, и среда py.test звучит как лучшая ставка, чем пакетный тестовый пакет Python . Поэтому я добавил каталог «tests» в свой проект и добавил в него test_sample.py . Теперь я хочу настроить PyCharm для запуска всех тестов в моем каталоге «tests».
Якобы PyCharm поддерживает py.test в своем тестовом раннере . Предполагается, что вы сможете создать конфигурацию запуска / отладки для запуска ваших тестов, и PyCharm предположительно имеет диалоговое окно «Создать конфигурацию» специально для py.test . Но это полный объем их документации по этому вопросу, и я нигде не могу найти это предполагаемое диалоговое окно.
Если щелкнуть правой кнопкой мыши каталог в окне инструмента Project, я должен увидеть пункт меню «Создать <имя>», но единственный пункт меню, начинающийся с «Создать» - это «Создать конфигурацию выполнения». Хорошо, может быть, документация просто неверна, и «Создать конфигурацию запуска» звучит многообещающе. К сожалению, в этом подменю есть только два элемента: «Юнит-тесты в C: \ mypath ...» и «Док-тесты в C: \ mypath ...», ни один из которых не применим - я не использую ни unittest, ни doctest. Нет пункта меню для py.test.
Если я открою свой test_sample.py и щелкну правой кнопкой мыши в окне редактора, я получу обещанные пункты меню «Создать <имя>»: есть «Создать» Unittests in test_sa ...'... », а затем« Выполнить 'Юнит-тесты в test_sa ...' 'и' Отладка 'Юнит-тесты в test_sa ...' ". Итак, еще раз, все это специфично для фреймворка unittest; ничего для py.test.
Если я попробую пункты меню с надписью «unittest», я получу диалоговое окно с опциями «Имя», «Тип», групповое поле «Тесты» с «Папка» и «Шаблон», «Сценарий» и «Класс». "и" Функция "и т. д. Это похоже на то, что задокументировано как диалоговое окно для добавления конфигурации для модульного теста Python , а не на параметры" Имя "и" Тест для запуска "и" Ключевые слова ", которые должны отображаться в конфигурации для диалога py.test . Там нет ничего внутри диалога, чтобы переключиться, какой тестовый каркас я добавляю.
Я использую PyCharm 1.5.2 на Windows с Python 3.1.3 и pytest 2.0.3. Я могу успешно запускать py.test
свои тесты из командной строки, так что это не что-то простое, как, например, pytest не устанавливается должным образом.
Как настроить PyCharm для запуска моих тестов py.test?
File | Settings | Tools | Python Integrated Tools
это доступно только в настройках проекта, а не в настройках по умолчанию в PyCharm 5.PyCharm 2017.3
Preference -> Tools -> Python integrated Tools
- Выберитеpy.test
какDefault test runner
.Preference -> Languages&Frameworks -> Django
- поставьте галочкуDo not use Django Test runner
Run/Debug configuration
, иначе тесты будут выполняться с этими более старыми конфигурациями.Run/Debug Configuration -> Defaults -> Python tests -> py.test -> Additional Arguments
источник
New => Python File
,Kind:
выпадающий список предлагает только: файл Python, юнит-тест, заглушку Python, а не Pytest. Я посмотрел во всех местах, упомянутых в темах выше. Чего мне не хватает?Я думаю, что вам нужно использовать пункт Run / Debug Configuration на панели инструментов. Нажмите на него и «Редактировать конфигурации» (или используйте пункт меню «Пуск» -> «Редактировать конфигурации»). В разделе «По умолчанию» на левой панели есть пункт «py.test», который, я думаю, вам нужен.
Я также обнаружил, что руководство не соответствует интерфейсу пользователя для этого. Надеюсь, я правильно понял проблему, и это помогает.
источник
Target
ееScript ath
и указать ее в корне моей папки тестовВот как я заставил это работать с pytest
3.7.2
(установленным через pip) и pycharms2017.3
:edit configurations
py.test
target
=python
и безымянное поле нижеtests
. Похоже, это имя вашей тестовой папки. Не слишком уверенно. Я также рекомендую-s
аргумент, чтобы при отладке тестов консоль работала правильно. Без аргумента pytest фиксирует вывод и делает глючную консоль отладки.my_project/tests
).foobar_test.py
файл: (импорт не требуется):источник
Это плохо документировано, чтобы быть уверенным. Как только вы добавите новую конфигурацию из настроек по умолчанию, вы сможете запустить скрипт "/ Applications / PyCharm CE.app/Contents/helpers/pycharm/pytestrunner.py". Это не задокументировано и имеет свои идеи аргументов командной строки.
Ты можешь:
Как ни странно, вам будет трудно найти какую-либо дискуссию, поскольку JetBrains хорошо справляется с бомбардировкой алгоритмов Google своими собственными страницами.
источник
найди эту ветку, когда я нажму на тот же вопрос и найду решение pycharm version: 2017.1.2 перейдите в «Настройки» -> «Инструменты» -> «Python Integrated Tools» и установите бегунка теста по умолчанию на правой боковой панели как py.test решить мою проблему
источник
В pycharm 2019.2 вы можете просто сделать это для запуска всех тестов:
Для более высокой интеграции pytest в pycharm см. Https://www.jetbrains.com/help/pycharm/pytest.html.
источник
Я использую 2018.2
Я делаю Run -> Edit Configurations ... Затем нажимаю + в левом верхнем углу модального диалога. Выберите «python tests» -> py.test. Затем я присваиваю ему имя, например «All test with py.test».
Я выбираю Target: имя модуля и помещаю в модуль, в котором находятся мои тесты (для меня это «тесты»), или модуль, в котором весь мой код находится, если мои тесты смешаны с моим кодом. Это сбило меня с толку.
Я установил интерпретатор Python.
Я установил рабочий каталог в каталог проекта.
источник
Мне пришлось сделать со специальной настройкой Python Conda, которая включала установку pip для py.test и использование надстройки Specs (опция --spec) (для Rspec, как хороший язык итоговых тестов);
1. Измените py.test по умолчанию, чтобы включить параметр = --spec, что означает использование плагина: https://github.com/pchomik/pytest-spec
2. Создайте новую тестовую конфигурацию, используя py.test. Измените его интерпретатор python, чтобы использовать ~ / anaconda / envs / ваш выбор интерпретаторов, например, py27 для моих имен.
3. Удалите тестовую конфигурацию «unittests».
4.Теперь конфигурацией теста по умолчанию является py.test с моими прекрасными выводами в стиле Rspec. Я люблю это! Спасибо всем!
PS Документ Jetbrains по настройкам запуска / отладки находится здесь: https://www.jetbrains.com/help/pycharm/2016.1/run-debug-configuration-py-test.html?search=py.test
источник
С 2018.3 он, кажется, автоматически обнаруживает, что я использую pytest, что хорошо, но все равно не позволяет запускаться с верхнего уровня проекта. Я должен был работать
pytest
для каждогоtests
каталога в отдельности.Однако я обнаружил, что могу выбрать одну из конфигураций и вручную отредактировать ее для запуска в корне проекта, и это сработало. Я должен вручную выбрать его в раскрывающемся меню «Конфигурации» - не могу щелкнуть правой кнопкой мыши корневую папку на панели «Проект». Но, по крайней мере, это позволяет мне запускать все тесты одновременно.
источник
Включить Pytest для вашего проекта
источник