четверг, 22 сентября 2011 г.

FEST Assertions

Чаще всего в статьях о юнит-тестировании упоминаются такие столпы как JUnit, TestNG, Mockito. О них все слышали, много пишут разных статей и обзоров. Но есть и менее известные библиотечки, которое очень удобны при написании юнит (и не только) тестов. Одна из них — Fest Assertions.

Её главным предназначением является помощь в написании ясных и человеко-читаемых утверждений (assertions) в тестах. Для того, чтобы вам было быстрее и удобнее их писать она использует т.н. fluent interface

Если вы используете Maven, то просто добавьте её в зависимости:



Теперь вы можете использовать её в своих тестах. Например:



На домашней странице приведены ещё некоторые примеры использования assertThat() для коллекций, исключений и других объектов (нужно ли говорить, что вы можете написать также и свои?).

В чем удобства этой библиотеки?
  • всего один import
  • авто-дополнение методов в IDE
  • более читаемый код
  • независимость от тестового фреймворка (например, assertEquals() в JUnit и в TestNG имеет различный порядок аргументов. Если вы будете использовать fest, то в случае необходимости вам будет проще мигрировать на другой тестовый фреймворк)
Есть ли неудобства? Есть. Например, мне кажется очень неуклюжим и некрасивым то как реализовано переопределение сообщения об ошибке:



Во-первых, overridingErrorMessage() как-то слишком длинно. Во-вторых, его нужно обязательно вставить между объектом для сравнения и самим условием, из-за чего они "разрываются" и теряется та самая читабельность.

В остальном же библиотека мне показалась очень интересной и удобной.

Комментариев нет:

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