Testing with Fluent APIs
The more tests I write, the more love I feel towards fluent interfaces :) I hope to write someday soon more about Test Data Builders and FEST assertions, but for now only a short list of useful fluent APIs that can help you write nice(r) tests:
- FEST Fluent Assertions Module - for those who prefer
- AssertJ - "provides a rich and intuitive set of strongly-typed assertions to use for unit testing"
- Awaitility - "a DSL that allows you to express expectations of an asynchronous system in a concise and easy to read manner"
- FluentLenium - a fluent wrapper over Selenium/Webdriver
- Test Data Builders - a nice way of object creation (useful not only for tests)
- Make-It-Easy - a helper framework for creating builders
- Rest-Assured - helpful for testing REST services
- Restito - "a tool which is inspired by Mockito and functionally is diametrically opposite to the Rest Assured"
- JsonPath - "JsonPath is to JSON what XPATH is to XML - maybe not so fluent as the rest, but also has something very DSL-ish about it :)
Aware of any other interesting fluent APIs that could help with writing beautiful tests? Please share the links!
P.S. Thanks to Bartosz Majsak for some pointers!