EVERYTHING XIAOMI
Get listed
ExUnit logo

ExUnit

ExUnit is a free unit-testing framework for the Elixir programming language.

Place
#24 of 32
Score
6.0
ExUnit's website

What ExUnit is

ExUnit is a free unit-testing framework for the Elixir programming language. A basic setup starts it with ExUnit.start() and defines test cases in a module using ExUnit.Case. In an Elixir project, Mix's mix test command runs files matching *_test.exs in the test directory. ExUnit.Assertions supplies assertion macros that generate error messages for failed checks. Tests in separate modules can run concurrently, while tests within one module run serially. ExUnit.async_run/0 starts tests asynchronously while cases load, and await_run/1 waits for the result. Result formatters report outcomes and timing for the slowest tests or modules. Options include timeouts, parallel-case limits, failure limits, filters, captured logging, colors, and random seeds. Finished tests may pass, fail, be skipped, be excluded, or be invalid when setup_all fails. ExUnit can start tests and run them automatically before the VM terminates. The source code is released under the Apache License 2.0. Its listed plan is free, with no trial.

Good

  • Free Elixir testing framework
  • Mix integration for *_test.exs files
  • Concurrent modules with serial module tests
  • Configurable timeouts and parallel limits
  • Assertion macros with error messages

Watch out

  • Supports Elixir only
  • Linux platform listed
  • No free trial because it is free
  • Tests within a module run serially

Who it suits

ExUnit suits Elixir developers writing automated unit tests, from solo developers to organizations using Elixir applications. It is for projects needing assertions, reporting, filtering, and parallel test execution.

Verdict

ExUnit provides Elixir-native test setup, assertions, execution controls, and reporting at no cost. Its concurrency model and configuration options suit structured Elixir test suites.

Plans and prices

From ExUnit's own pricing page, checked 8 Oct 2001.

All about pricing
PlanPriceWhat it gives you
ExUnitFreeUnit testing framework for Elixir

The facts

Each one read from ExUnit's own pages, with the date it was checked.

What it does

Assertions
ExUnit.Assertions provides macros that generate assertions with appropriate error messages.checked 8 Oct 2001
Async execution
ExUnit.async_run/0 starts tests asynchronously while test cases are loading, and await_run/1 waits for the result.checked 8 Oct 2001
Concurrency
Tests in different modules can run concurrently, while tests within each module run serially.checked 8 Oct 2001
Configuration
ExUnit options include test timeouts, maximum parallel cases, failure limits, filters, logging capture, colors, and random seeds.checked 8 Oct 2001
Intended users
The Elixir website describes Elixir as serving solo developers and Fortune 500 companies across varied industries and applications.checked 8 Oct 2001
License
The Elixir source code is released under the Apache License 2.0.checked 8 Oct 2001
Mix integration
The Mix command mix test runs files matching *_test.exs in a project's test directory.checked 8 Oct 2001
Parallel tests
Tests in different test modules can run concurrently, while tests within a module run serially.checked 8 Oct 2001
Purpose
ExUnit is a unit testing framework for Elixir.checked 8 Oct 2001
Reporting
ExUnit supports result formatters and can report timing for the slowest tests or test modules.checked 8 Oct 2001
Run tests
Mix's mix test command runs files matching *_test.exs in a project's test directory.checked 8 Oct 2001
Security reporting
The Elixir repository asks users to disclose security vulnerabilities privately through its Security page.checked 8 Oct 2001
Support channels
The Elixir website lists community support channels including Slack, the Elixir Forum, and Discord.checked 8 Oct 2001
Supported runtime
ExUnit is part of the Elixir programming language and the example invokes it using the elixir command line.checked 8 Oct 2001
Test assertions
ExUnit.Assertions provides macros that generate assertions with appropriate error messages.checked 8 Oct 2001
Test execution
ExUnit starts tests and can run them automatically before the VM terminates.checked 8 Oct 2001
Test outcomes
Finished tests can pass, fail, be skipped, be excluded, or be invalid when setup_all fails.checked 8 Oct 2001
Test setup
A basic ExUnit setup starts the framework with ExUnit.start() and defines tests in a module using ExUnit.Case.checked 8 Oct 2001
What it does
ExUnit is a unit testing framework for Elixir.checked 8 Oct 2001

The company

Founded
2012checked 28 Sep 2001

Alternatives to ExUnit

All alternatives
  1. 1QUnit logo

    QUnit

    Free planAndroidiOSWebAPI
    7.3Free plan
  2. 2

    Kotest

    Free planAndroidiOSWebLinux
    6.6Free plan
  3. 3NUnit logo

    NUnit

    Free planAndroidiOSAPILinux
    6.6Free plan
  4. 4

    ScalaCheck

    Free planLinuxmacOSWindows
    6.6Free plan
  5. 5PHPUnit logo

    PHPUnit

    Free planLinuxmacOSSelf-hostedWindows
    6.5Free plan
  6. 6Vitest logo

    Vitest

    Free planWebLinuxmacOSWindows
    6.5Free plan