Hamcrest is a powerful library for writing custom matchers. Although FEST-Assert and Hamcrest have similar goals, their implementation and APIs are quite different. Here is an example using Hamcrest (borrowed from Martin Gilday's example posted at the TestNG mailing list):
This is the same example, using FEST's assertions:
We like FEST-Assert's approach because:
- Only one static import is needed (
- Allows us to use our IDE's "auto-complete" feature: we only type "." and we get the possible assertion methods for the value passed to
- We can chain related assertion methods:
Which one to use? Hamcrest or FEST-Assert? It is up to you...it depends on the needs of your project and your coding style!