привет. посмотрела видео-рекомендации как писать правильный автотест тест, что нужно избегать if else. , циклов и т д. вместо них можно использовать Assert, согласны ли вы с этим? А как быть с кейсом, когда сообщения летят в несколько сервисов одного Assert разве будет достаточно?
не совсем понятно что общего между Assert и циклами.
А как быть с кейсом, когда сообщения летят в несколько сервисов одного Assert разве будет достаточно?
Можно пример?
Ничего плохого в if else нет.
вот пример
а писать следует так нам сказали на курсе . или такой подход не всегда допустим?
так никто не пишет, так как все тестовые фреймворки и библиотеки уже имеют в себе встроенные методы.
к примеру с помощью selenide ваш “код” можно заменить на:
el.shouldBe(Condition.enabled);
и в случае, если элемент будет disabled то тест упадет с ошибкой.
а так же
if (el.enabled != false) {}
можно заменить на
if (el.enabled) {}
спасибо, методы могут быть разные но с одной и той же функцией в этих фреймворках?
Как правило, в тестах недопустимы условия вида
“Если на странице то-то, то проверяй то-то”.
А вот условия вида “если на странице то-то, то кидай ошибку” абсолютно легитимны. Собственно, из них и состоит тест. Это по сути и есть ассерты.
И да, многие фреймворки типа Selenide, AssertJ, JUnit и т.д. позволяют писать ассерты красивее, так чтобы самому не приходилось кидать ошибку. Но внутри они все равно точно так же проверяют условие и кидают ошибку.
У вас тест состоит в том что нужно проверить все ли сервисы получили сообщение ?
Если да то можно софтАссерт что сервис_1 получил сообщение, софтАссерт что сервис_2 получил сообщение и так далее.
спасибо!
спасибо, возьму на заметку