A Clojure test framework offering a migration path from clojure.test with more flexible, readable, and gracious testing.
Midje is a test framework for Clojure that provides a migration path from clojure.test to a more flexible, readable, and gracious style of testing. It enables developers to write tests that resemble examples from Clojure books while supporting both top-down and bottom-up testing approaches. The framework integrates seamlessly with the REPL and offers prepackaged checkers to simplify common testing tasks.
Clojure developers who want to move beyond clojure.test to a more expressive testing framework, particularly those interested in readable tests and REPL-driven development workflows.
Developers choose Midje for its superior readability, gracious error reporting, and smooth migration path from clojure.test. Its unique selling point is making tests look like book examples while maintaining full machine-checkability and REPL integration.
Midje provides a migration path from clojure.test to a more flexible, readable, abstract, and gracious style of testing
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Tests are designed to resemble examples from Clojure books, enhancing clarity and maintainability, as shown in the gallery with side-by-side comparisons to 'The Joy of Clojure'.
Seamlessly integrates with the REPL, offering automatic test reloading on file changes while maintaining a functional session, demonstrated in the repl session images.
Includes built-in checkers that handle common assertions, reducing boilerplate code and speeding up test writing, as highlighted with examples in the README.
Supports testing from abstractions to details, facilitating a balanced development approach encouraged in the philosophy and wiki documentation.
Migrating from clojure.test involves learning new syntax and concepts like metaconstants, which can be challenging for teams comfortable with the standard library, despite the smooth path advertised.
Has a smaller ecosystem of plugins and tools compared to clojure.test, with fewer third-party integrations, which might limit advanced CI/CD or tooling support.
Features like automatic reloading and rich checkers may introduce slight performance trade-offs in large or complex test suites, though not explicitly addressed in the README.