Пока нет оценок.
Пожалуйста, подождите...

Наиболее выразительная и запоминающаяся часть теста – качественно составленное утверждение (assertion).

Именно оно верифицирует поведение ПО, которого от него ожидает сначала тестировщик, а потом и клиент.

Качественное утверждение должно с первой своей строки демонстрировать, что делает данный тест.

Тесты по автоматизации никогда не должны содержать циклы, внутри которых может быть спрятано утверждение.

Сейчас есть множество библиотек, которые их поддерживают, составленные на популярных языках программирования.

Казалось, а зачем знать много библиотек, если можно использовать одну и составлять автоматизированные проверки по одному заданному сценарию?

Ответ прост: утверждения, которые легко читаются – это наиболее простой путь к созданию утверждений в более понятной и доступной форме.

Есть сразу 2 подхода при написании утверждений. Первый: применение ключевого слова «assert», второй: применение таких слов, как «should» и «expert».

Если первый «берет» свое начало из классической манеры написания модульных тестов и фиксирует внимание на проверке и верификации, то второй (BDD) – в полной мере ориентирован на фразы «should» и «expert», описывающие именно то поведение, которое тестировщик ожидает от ПО.

Ну а теперь рассмотрим непосредственно структуру популярных библиотек, которые могут быть полезными в повседневной деятельности тестировщика-автоматизатора.

Hamcrest

http://hamcrest.org/

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

Базовый метод, который в ней используется, именуется assertThat().

Пример применения Hamcrest

Пример применения Hamcrest

Очень радует, что данная библиотека может похвастаться разнообразным ассортиментом matcher-ов, таких как:

Пример matcher-ов в Hamcrest

Пример matcher-ов в Hamcrest

При желании, с более подробной информацией касательно этой библиотеки можно ознакомиться по ссылке https://code.google.com/p/hamcrest/wiki/Tutorial

FestAsserts

https://joel-costigliola.github.io/assertj/assertj-core-migrating-from-fest.html

Это востребованная библиотека Java, которая предоставляет персональный доступ для написания утверждений.

Базовая цель – повышение читабельности тестового кода и упрощение процесса проведения проверок.

Пример применения FestAsserts

Пример применения FestAsserts

К слову, данная библиотека очень схожа с первой, так как тоже предоставляет на выбор большой перечень matcher-ов.

К примеру, чтобы протестировать, что список Х содержит определенные элементы.

AssertJ

https://joel-costigliola.github.io/assertj/

Классическое утветвление от ранее описанной библиотеки Fest Asserts, который предоставляет широкий набор утверждений, сообщенийоб ошибках, с возможностью улучшения читабельности тестового программного кода.

Пример применения AssertJ

Пример применения AssertJ

Более детально с библиотекой можно ознакомиться по ссылке http://joel-costigliola.github.io/assertj/

Google Truth

Отличается хорошей читабельностью и понятностью, по сравнению с тремя другими инструментами.

Пример применения GoogleTruth

Пример применения GoogleTruth

Заключение

Итак, Hamcrest and FestAssert отыгрывают важную роль при подходе Java-based BDD, но Hamcrest отличается более лучшей гибкостью и расширяемостью, но в то же время, преимущество FestAssert в простом синтаксисе и простоте повседневного использования.

Касательно AssertJ, эта библиотека является упрощенной версией FestAssert, которая отличается массой полезных функциональностей.

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

Оставить комментарий