тестирования гласят, что тест кейсы не должны зависеть друг от друга. Однако, время от времени встречаю требования в духе "Метод А должен выполнить шаг 1,2,3 и вызвать метод В".
Метод В уже успешно протестирован, нужно написать тест кейсы на метод А. Логично было бы написать кейсы, что должен выполниться шаг 1,2,3 и написать "Должен вызваться метод В". Однако, книжки говорят, что так нельзя. Как, собственно решать данную дилему?
Я в описанной ситуации не вижу, где у вас связанные ТК идут. Можно конкретный пример, пожалуйста?
Есть метод А, отправляющий информацию в сторонний сервис. Шаг 1)Взять из БД значение URL, куда будем отправлять Шаг 2)Вызвать метод В, который генерирует XML'ку, которую мы будем отправлять Шаг 3) Отправляем по URL из шага 1 XML из шага 2 Мне нужно написать тест кейс на метод А, который использует в себе метод В. Мне нужно в методе А убедиться, что метод В отработал корректно. Таким образом получается, что тест кейсы метода А зависят от тест кейсов метода В
Не совсем. Кейсы зависят от кейсов -- это когда мы не можем выполнить кейс 2, не выполнив при этом кейс 1. Например, мы в кейсе 1 создаём тестового пользователя, а в кейсе 2 ссылаемся на результат прохождения кейса 1: "возьми юзера из кейса 1, проверь поля..." А тут вполне себе интеграционный тест: взяли урл, дёрнули какую-то ручку, проверили что ожидаемая XML доехала до конечной точки маршрута в нужном виде.
Вы путаете. Взаимосвязанные ТК это когда в тексте теста 2 написано: после успешного выполнения теста 1 запустите.... То есть вы связываете их логикой последовательности. А если вам нужно в разных ТК задействовать один и тот же метод, то это не тот случай.
Обсуждают сегодня