QA Аудит и консультирование

Про качество просто и по делу

Привет, я - Олег Сухарев, QA/SDET с 15+ лет опыта в сфере и готов поделиться своими навыками и помочь в решении проблем качества

Олег Сухарев

Последние публикации

Все статьи →
Pytest - как передавать фикстуры

Pytest - как передавать фикстуры

В прошлой статье я немного рассказал про фикстуры в pytest, что это такое и как их использовать. Но когда начинаешь их часто использовать и на большом количестве тестов, начинаешь думать, как эффективнее их использовать или сменьшим количеством кода. Давайт рассмотрим, как можно при классовой структуре тестов, работать с фикстурами Как в документации Например, согласно документации рекомендуется делать вот так: import pytest @pytest.fixture def method_fixture(): print("method fixture") @pytest.fixture(scope="class") def class_fixture(): print("class fixture") @pytest.fixture(scope="session") def session_fixture(): print("session fixture") class TestClass: def test_1(self, method_fixture, session_fixture): pass def test_2(self, method_fixture, session_fixture, class_fixture): pass def test_3(self, method_fixture, class_fixture): pass def test_4(self, class_fixture, session_fixture): pass def test_5(self, method_fixture, session_fixture): pass Плюсы такого подхода:

Читать далее
Pytest - фикстуры

Pytest - фикстуры

В предыдущей статье я затронул тему pytest fixture, в этой я бы хотел немного раскрыть, что это такое и зачем это использовать. В обычных тестовых фреймворках (например unittest, JUnit, chai/mocha) для того, чтобы исполнить что-то перед тестом/тестами, используется какая-то функция с названиями типа setup, before. В pytest есть такой же способ, но фикстуры мощнее и функциональнее. Фикстура - это метод или функция обернутая в декоратор pytest.fixture, которая может вызываться как самостоятельно (всегда), так и по требованию, только при явной передаче в тестовую функцию.

Читать далее