---
name: "eunit"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:25.2.3+dfsg-1+deb12u4"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/eunit"
---

# eunit(3erl)

This module is the main EUnit user interface.

## NAME

eunit - This module is the main EUnit user interface.

## DESCRIPTION

This module is the main EUnit user interface.

## EXPORTS

**start() -\> term()** \

Starts the EUnit server. Normally, you don't need to call this function; it is started automatically.

**stop() -\> term()** \

Stops the EUnit server. Normally, you don't need to call this function.

**test(Tests) -\> term()** \

Equivalent to test(Tests, \[\]).

**test(Tests::term(), Options::\[term()\]) -\> ok \| {error, term()}**\

Runs a set of tests. The format of *Tests* is described in the section EUnit test representation of the overview.

Example:

```
  eunit:test(fred)
```

runs all tests in the module *fred* and also any tests in the module *fred\_tests*, if that module exists.

Options:

- ***verbose*:**

  Displays more details about the running tests.

- ***print\_depth*:**

  Maximum depth to which terms are printed in case of error.

- ***exact\_execution*:**

  If this boolean flag is set to *true* framework will not automatically execute tests found in related module suffixed with "\_tests". This behaviour might be unwanted if execution of modules found in a folder is ordered while it contains both source and test modules.

Options in the environment variable EUNIT are also included last in the option list, i.e., have lower precedence than those in *Options*.

*See also:* test/1.

## AUTHORS

Mickaël Rémond *\<mickael.remond@process-one.net\>*

Richard Carlsson *\<carlsson.richard@gmail.com\>*
