Если мы используем множественное утверждение, первое утверждение не удалось, как мне продолжить свои сценарии? - PullRequest
1 голос
/ 30 марта 2020

Если мы использовали многократное утверждение, первое утверждение не удалось. Пример. assert.Equal (ожидаемый текст, фактический текст), если оба текста не равны, тест не пройден, без теста не пройден, как я должен продолжить следующее утверждение в моем скрипте и, наконец, тест покажет все ошибки. Как я мог сделать это?

1 Ответ

1 голос
/ 30 марта 2020

Несколько утверждений на тест являются в некотором роде антишаблоном - в идеале тесты должны быть написаны так, чтобы они утверждали только по одному аспекту. Это позволяет комплекту тестов иметь достаточную степень детализации, чтобы неудачный тест мог точно идентифицировать любую проблему.

Если вы утверждаете в ряде случаев, этого часто можно достичь с помощью параметризации (например, pytest.mark.parametrize), которая позволяет тестирование на основе данных. Это исключает повторение тестового кода, генерируя несколько тестов из одного.

Утверждение на разных этапах теста может быть признаком того, что тест тестирует слишком много вещей одновременно, в этом случае я предлагаю попытаться разделить утверждения на отдельные тесты, каждый с описательными именами. Однако, если вы действительно хотите протестировать этапы более длительного процесса с накоплением сбоев (и это возможно / безопасно сделать), это ограниченная поддержка в плагине pytest-check .

...