Ответ
Да, постоянно использую параметризацию. Это один из основных приёмов для создания эффективных и поддерживаемых наборов автотестов.
Примеры из практики:
-
В pytest (Python): Использую декоратор
@pytest.mark.parametrizeдля data-driven тестирования.import pytest @pytest.mark.parametrize("login, password, expected_result", [ ("valid_user", "correct_pass", "SUCCESS"), ("invalid_user", "wrong_pass", "ERROR"), ("", "", "VALIDATION_ERROR"), ]) def test_login_functionality(login, password, expected_result): # Вызов метода авторизации и проверка результата actual_result = authorize(login, password) assert actual_result == expected_result - В JUnit 5 (Java): Использую аннотации
@ParameterizedTestи@CsvSourceили@MethodSource.@ParameterizedTest @CsvSource({ "2, 3, 5", "10, -5, 5", "0, 0, 0" }) void testAddition(int a, int b, int expectedSum) { Calculator calc = new Calculator(); assertEquals(expectedSum, calc.add(a, b)); }
Параметризация позволяет избежать дублирования кода, легко добавлять новые тестовые данные и чётко отделять логику теста от входных данных.