Migrating from Expectations to LazyTest: A Developer's Journey
A developer reflects on their experience migrating from the Expectations testing library to LazyTest, highlighting the advantages and challenges faced during the transition. Having used Expectations for over six years, they appreciated its expressiveness but were hindered by its compatibility with clojure.test tooling. The author was intrigued by LazyTest, which offers its own DSL for writing tests and enhanced reporting features but lacks support for clojure.test tools. After experimenting with LazyTest in their workplace, they successfully migrated some tests and integrated compatibility for clojure.test, demonstrating the potential for flexibility and improved expressiveness in testing. They also addressed some limitations of LazyTest and provided feedback to its developer, contributing to its ongoing improvement.
- Migration from Expectations to LazyTest aimed to enhance test expressiveness and reporting.
- LazyTest offers its own DSL and compatibility extensions but lacks support for existing clojure.test tooling.
- The author adapted existing tests and contributed to making LazyTest more compatible with other test libraries.
What is LazyTest?
LazyTest is a testing library that provides its own Domain-Specific Language (DSL) for writing tests, offering enhanced expressiveness and reporting compared to clojure.test.
Why did the author migrate to LazyTest?
The author migrated to LazyTest to overcome limitations of the Expectations library while seeking a more expressive and flexible testing framework that still allows compatibility with existing Clojure tooling.
What challenges did the author face during the migration?
The author encountered issues with version compatibility, particularly with Clojure 1.10, as well as differences in how exceptions are handled between LazyTest and clojure.test, which made the migration process more complex.