Есть ли способ запустить модульные тесты только в одном модуле, используя Eunit в erlang? - PullRequest
4 голосов
/ 16 января 2012

У меня есть ряд модулей с юнит-тестами.Есть ли способ запуска только модульных тестов в одном модуле.

Вот так выглядит соответствующий раздел модуля:

-export([ ..... ])
-include_lib("eunit/include/eunit.hrl").
...
...
...
first_test() ->
  ...
  ...

second_test() ->
  ...
  ...

(Конечно, название тестов непервый и второй.)

Ответы [ 4 ]

4 голосов
/ 01 декабря 2015

Запустите все тесты в модуле / наборе (как ответ Юризы):

rebar eunit suite=mod_name

Или вы также можете указать отдельный контрольный пример (по имени функции):

rebar eunit tests=mod_name:test_name

Ссылки:

3 голосов
/ 16 января 2012

eunit:test(yourmodule) или yourmodule:test() должны работать.

1 голос
/ 18 апреля 2018

Если вы используете rebar3, вы можете использовать опцию --module для их Выполняемых тестов Документ.

rebar3 eunit --module=your_module

Если у вас есть тонны модулей, но вы хотите запустить тесты только для нескольких из них, вы можете разделить имена запятыми:

rebar3 eunit --module=first_module,second_module,third_module

В документации много советов по ограничению запуска тестов одним приложением, файлом и т. Д.

0 голосов
/ 07 октября 2015

Вы также можете использовать:

rebar clean eunit suite=your_module
...