Наиболее выразительная и запоминающаяся часть теста – качественно составленное утверждение (assertion).
Именно оно верифицирует поведение ПО, которого от него ожидает сначала тестировщик, а потом и клиент.Качественное утверждение должно с первой своей строки демонстрировать, что делает данный тест.
Тесты по автоматизации никогда не должны содержать циклы, внутри которых может быть спрятано утверждение.Сейчас есть множество библиотек, которые их поддерживают, составленные на популярных языках программирования.
Казалось, а зачем знать много библиотек, если можно использовать одну и составлять автоматизированные проверки по одному заданному сценарию?
Ответ прост: утверждения, которые легко читаются – это наиболее простой путь к созданию утверждений в более понятной и доступной форме.
Есть сразу 2 подхода при написании утверждений. Первый: применение ключевого слова «assert», второй: применение таких слов, как «should» и «expert».
Если первый «берет» свое начало из классической манеры написания модульных тестов и фиксирует внимание на проверке и верификации, то второй (BDD) – в полной мере ориентирован на фразы «should» и «expert», описывающие именно то поведение, которое тестировщик ожидает от ПО.
Ну а теперь рассмотрим непосредственно структуру популярных библиотек, которые могут быть полезными в повседневной деятельности тестировщика-автоматизатора.
Hamcrest
Наверное, наиболее популярная библиотека из данной сферы автоматизации тестирования программного обеспечения.
Базовый метод, который в ней используется, именуется assertThat().
Очень радует, что данная библиотека может похвастаться разнообразным ассортиментом matcher-ов, таких как:
При желании, с более подробной информацией касательно этой библиотеки можно ознакомиться по ссылке https://code.google.com/p/hamcrest/wiki/Tutorial
FestAsserts
https://joel-costigliola.github.io/assertj/assertj-core-migrating-from-fest.html
Это востребованная библиотека Java, которая предоставляет персональный доступ для написания утверждений.
Базовая цель – повышение читабельности тестового кода и упрощение процесса проведения проверок.
К слову, данная библиотека очень схожа с первой, так как тоже предоставляет на выбор большой перечень matcher-ов.
К примеру, чтобы протестировать, что список Х содержит определенные элементы.
AssertJ
https://joel-costigliola.github.io/assertj/
Классическое утветвление от ранее описанной библиотеки Fest Asserts, который предоставляет широкий набор утверждений, сообщенийоб ошибках, с возможностью улучшения читабельности тестового программного кода.
Более детально с библиотекой можно ознакомиться по ссылке http://joel-costigliola.github.io/assertj/
Google Truth
Отличается хорошей читабельностью и понятностью, по сравнению с тремя другими инструментами.
Заключение
Итак, Hamcrest and FestAssert отыгрывают важную роль при подходе Java-based BDD, но Hamcrest отличается более лучшей гибкостью и расширяемостью, но в то же время, преимущество FestAssert в простом синтаксисе и простоте повседневного использования.
Касательно AssertJ, эта библиотека является упрощенной версией FestAssert, которая отличается массой полезных функциональностей.
Но в целом, все приведенные библиотеки являются хорошим инструментарием при создании простых и действенных модульных тестов во время автоматизированных проверок любого программного обеспечения.
Оставить комментарий