FEST-Assert 1.2: Fluent Interface for Assertions

We are proud to announce that FEST-Assert 1.2 is out!

FEST-Assert is an “assertThat” library that provides a fluent interface for writing assertions. Its main goal is to improve test code readability and make maintenance of tests easier.

Example:

int removed = employees.removeFired();
assertThat(removed).isZero();
 
List newEmployees = employees.hired(TODAY);
assertThat(newEmployees).hasSize(6)
.contains(frodo, sam);
 
String[] newHires = employees.newHiresNames();
assertThat(newHires).containsOnly("Gandalf", "Arwen", "Gimli");
 
assertThat(yoda).isInstanceOf(Jedi.class)
.isEqualTo(foundJedi)
.isNotEqualTo(foundSith);

Release notes

Bug
  • [FEST-198] – Fix ImageAssert.read to compile successfully against Java 1.5
  • [FEST-218] – Inconsistency in parameter names in assertions
  • [FEST-228] – Error message when comparing Strings is not consistent between JUnit and TestNG
  • [FEST-229] – Descriptions are not evaluated lazily when an assertion fails
  • [FEST-230] – Validation of arguments not throwing correct Exceptions.
Improvement
  • [FEST-147] – Allow reuse of formatting helpers in class Formatting by making them protected
  • [FEST-157] – Add isNotEqualByComparingTo() for ease of use in BigDecimalAssert
  • [FEST-165] – Make Assertions non-final and make its constructor protected
  • [FEST-166] – Make assertion classes non-final
  • [FEST-168] – Add methods "is" and "isNot" to all assertions
  • [FEST-242] – Nicer debugging output with JUnit’s ComparisonFailure
  • [FEST-245] – Deprecate ‘Delta’ class in FloatAssert and replace it with top-level Delta class
New Feature Task

For more details about new, updated or removed classes, please read the change report.

You can download the latest release here (file fest-assert-1.2.zip.) FEST-Assert requires Java SE 5.0 or later.

Here are some useful links:

Feedback is always appreciated :)

0
Average: 5 (1 vote)

Alex Ruiz is a Software Engineer in the development tools organization at Oracle. Alex enjoys reading anything related to Java, testing, OOP, and AOP and has programming as his first love. Before joining Oracle, Alex was a consultant for ThoughtWorks. Alex is a DZone MVB and is not an employee of DZone and has posted 20 posts at DZone. You can read more from them at their website.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)