Я использую pytest. У меня есть два файла в каталоге. В одном из файлов есть длинный тестовый сценарий, который генерирует некоторый вывод. В другом файле есть тестовый пример, который считывает этот вывод. Как я могу обеспечить правильный порядок выполнения двух тестовых случаев? Есть ли какая-либо альтернатива, кроме как поставить тестовые примеры в один и тот же файл в правильном порядке?Порядок выполнения тестового примера в pytest
ответ
В целом вы можете настроить поведение в основном любой части pytest, используя ее well-specified hooks.
В вашем случае вам нужен крючок «pytest_collection_modifyitems», который позволяет вам повторно заказать собранные тесты на месте.
Это говорит о том, что упорядочить ваши тесты должно быть проще - это все-таки Python! Поэтому я написал плагин для заказа тестов. Проверьте docs или установите его с pypi. Сейчас я рекомендую использовать @ pytest.mark.first и @ pytest.mark.second, или один из маркеров @ pytest.mark.order #, но у меня есть некоторые идеи о более полезных API. Предложения приветствуются :)
Эй. Спасибо, что создали этот плагин. Можете ли вы изменить его так, чтобы он просто извлекал конечные цифры в качестве порядка. Например, если я говорю @ pytest.mark.custom1, то 1 должен быть порядком. Это очень поможет! –
Я могу попробовать. Я думаю, что v0.2 имеет такое поведение с маркером «порядок», а не с произвольными маркерами. Не могли бы вы написать это как запрос функции на странице github pytest-ordering? https://github.com/ftobia/pytest-ordering –
Ссылка на крючки должна идти по адресу: http://pytest.org/latest/writing_plugins.html#well-specified-hooks –
Может быть, вы можете рассмотреть возможность использования dependency pytest плагина, где вы можете установить зависимости между тестами легко:
@pytest.mark.dependency()
def test_long():
pass
@pytest.mark.dependency(depends=['test_long'])
def test_short():
pass
Этим путем test_short
будет выполняться, только если test_long
успех и силы последовательностью выполнения также.
Выше не работает для меня для последовательности упорядочения. Например, если вы перевернули заказ. Т.е. давно зависит от короткого. В этом случае длинный пропущен. – peaxol
Существует также плагин pytest-ordering, который, как представляется, соответствует вашим требованиям.
Ответ Фрэнка Т. уже упоминает этот плагин и был опубликован за 3 года до этого ответа. – Ave
Ух, но он не упомянул имя. вот почему я, возможно, полностью пропустил этот момент. –
- 1. Ошибка выполнения тестового примера в селене Webdriver
- 2. Как получить процент выполнения тестового примера Selenium
- 3. Как захватить результат выполнения тестового примера Junit
- 4. Получение имени текущего тестового примера
- 5. Pytest Финализаторы - порядок исполнения
- 6. NUnit Создание тестового примера
- 7. TestNG Последовательность тестового примера
- 8. Создание тестового примера JUnit
- 9. Выполнение тестовых примеров pytest из тестового сценария
- 10. Mule: Ошибка регистрации приемника во время выполнения функционального тестового примера
- 11. Selenium IDE - прекращение выполнения тестового примера при успешном тестировании
- 12. Выполнение тестового примера JUnit одновременно
- 13. Создание тестового примера Junit - java.lang.NoClassDefFoundError
- 14. Ошибка тестового примера модуля Rspec
- 15. Какова цель этого тестового примера?
- 16. Как получить описание тестового примера?
- 17. Изменить Тип тестового примера OTA API
- 18. Создание тестового корпуса Robot Framework из тестового примера?
- 19. Ошибка написания тестового примера в rspec
- 20. Обновление тестового примера в ралли рубином
- 21. Отладка тестового примера в Android Studio
- 22. Обновление статуса тестового примера в ALM
- 23. Выбирайте тесты pytest динамически в начале тестового прогона
- 24. Набор тестов тестового набора Testng для выполнения тестового класса
- 25. VS Нагрузочное тестирование: удалите файл тестового примера
- 26. Django: Get cookie внутри тестового примера
- 27. Apex - SalesForce - Написание тестового примера для триггера
- 28. Как переопределить поведение неудавшегося тестового примера JUnit
- 29. Вызов тестового примера SOAP UI из Java
- 30. Подход к написанию тестового примера с RSpec
В общем, неплохо, что тестовые случаи зависят друг от друга. Если вам нужно использовать одни и те же данные в двух тестовых примерах, почему бы не добавить их в раздел 'setup'? – Brad
Я знаю. Мне это тоже не нравится, но сейчас мне это нужно. – Kocka
Я не хочу добавлять его в раздел настроек, потому что он занимает около 15-20 минут. – Kocka