Как можно временно отключить отдельные модульные тесты при использовании unittest
модуля в Python?
python
python-unittest
coelhudo
источник
источник
@unittest.SkipTest
работает, а не@unittest.skip
@unittest.skip
тоже отлично работает.@unittest.skip
не работает.Вы можете использовать декораторы, чтобы отключить тест, который может обернуть функцию и предотвратить запуск тестового примера с помощью модульного теста googletest или python.
Вывод:
источник
Последняя версия (2.7 - неизданная) поддерживает пропуск / отключение тестов вот так . Вы можете просто получить этот модуль и использовать его в существующей установке Python. Вероятно, это сработает.
До этого я использовал переименовать тесты я хотел обезателен
xtest_testname
сtest_testname
.Вот быстрый сценарий elisp для этого. Мой elisp немного заржавел, поэтому заранее прошу прощения за любые проблемы. Непроверенные.
источник
Достаточно просто разместить
@unittest.SkipTest
декоратор над тестом.источник
unittest.skip
(без причины) дает мне ошибку в Python 2, но не в Python 3.Я просто переименовал метод тестового примера с подчеркиванием: test_myfunc становится _test_myfunc.
источник
В документации для 2.1 не указан метод игнорирования или пропуска.
Однако обычно я блокирую комментарии, когда это необходимо.
источник
Сосредоточившись на части вопроса о «временно отключенной», лучший ответ в некоторой степени зависит от варианта использования. Пример использования, который привел меня сюда: я занимаюсь разработкой функции на основе тестов. В этом процессе я последовательно пишу тесты и часто использую точки останова в функции для отладки. Если я просто запускаю все тесты каждый раз, когда запускаю средство запуска тестов, я останусь в точках останова для тестов, которые уже работают. Добавление «пропуска» или изменение имени теста или чего-то подобного - это не то, что я хочу, потому что, когда я закончу писать функцию, я хочу, чтобы все тесты выполнялись. Если бы я использовал «пропустить», мне пришлось бы вернуться и «отменить».
В моем случае решение заключается в средстве выполнения тестов, а не в коде теста. Я использую pytest . С pytest легко указать один тест из командной строки:
(замените заглавные буквы своими значениями).
Я понимаю, что этот вопрос был для python-unitest. Я давно этим не пользовался. Я бы не удивился, если бы в нем было что-то похожее на pytest. Если нет, вы можете легко переключиться на pytest. Вам не нужно изменять свой код. Просто установите его и измените команду запуска тестов.
Также я использую PyCharm Pro. На странице, на которой показан мой тестовый код, есть небольшой значок рядом с def для каждого теста. Я могу щелкнуть этот значок и запустить этот тест индивидуально.
источник