Всем привет. Недавно начал заниматься автоматизацией и возник такой вопрос - сколько ассертов должно быть в одном тесте? Я, конечно, гуглил, но там кто-то говорит, что один тест - один ассерт, кто-то говорит, что чем больше, тем лучше😐
Стоит определяться по конкретному случаю из соображений скорости выполнения, функционального разбиения элементов, функционального разбиения тестов, как построены сообщения об ошибках и пр.
Добавлю примеров
Примеры:
1) есть несколько элементов в функциональном блоке header , они всегда все нужны. Вполне логично объединить эти проверки на них в один элемент.
2) есть проверки на поиск корректных вещей "позитивные" и проверки "негативные" -- поиск пустой строки, поиск китайских иероглифов и пр.
Более приоритетные проверки на поиск не стоит объединять с менее приоритетными -- в какой-то момент нужно будет "быстро прогнать самое приоритетное".
3) Проверки на Header с проверками на поиск объединять не стоит, даже если поиск в том же хедере: если упал поиск, не обязательно помер хедер, и т.д. Дебажить что проверки что этот код может быть нужно отдельно, не надо их объединять.
Ну вот как-то так.