A polite, well-mannered testing framework for Elixir with BDD-style mocks and checker-based assertions.
Amrita is a testing framework for the Elixir programming language designed to be polite, well-mannered, and thoroughly upstanding. It provides a clean, expressive syntax for writing tests and emphasizes helpful error messages to improve the developer experience. The framework supports BDD-style mocks, checker-based assertions, and maintains backwards compatibility with ExUnit.
Elixir developers who prioritize clear, readable test syntax and detailed error reporting, particularly those building or maintaining test suites where mock behavior and expressive assertions are important.
Developers choose Amrita for its focus on developer experience through polite error messages, an expressive checker-based assertion system, and BDD-style mocking capabilities, all while remaining compatible with existing ExUnit tests.
A polite, well mannered and thoroughly upstanding testing framework for Elixir
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers built-in checkers like equals, contains, and roughly for readable assertions, allowing patterns like `1 + 10 |> 11` and custom checks, as detailed in the README examples.
Prioritizes clear, helpful error messages on test failures, with screenshots in the README showing detailed explanations to aid debugging.
Supports BDD-style mocks with wildcards, custom predicates, and argument-specific returns, enabling precise test setups for functions like Polite.swear?.
Maintains compatibility with ExUnit's test blocks, allowing seamless migration and integration with existing test suites, as shown with the test 'arithmetic' example.
The project's copyright ends in 2016 and it relies on GitHub for installation, suggesting it may not be actively updated or support newer Elixir features.
Being a niche framework, it has fewer plugins and community resources compared to ExUnit, with plugins only mentioned in a wiki, not in the core README.
Requires manual startup in test_helper.exs and use of specific syntax like Amrita.Sweet, adding overhead over ExUnit's out-of-the-box setup.
The custom assertion syntax with `|>` and checkers differs significantly from ExUnit, necessitating adaptation even for experienced Elixir developers.