Existe uma maneira de executar apenas testes de unidade em um único módulo usando Eunit em erlang?
Pergunta
Eu tenho vários módulos com testes unitários.Existe uma maneira de executar apenas testes unitários em um único módulo.
Esta é a aparência da seção relevante do módulo:
-export([ ..... ])
-include_lib("eunit/include/eunit.hrl").
...
...
...
first_test() ->
...
...
second_test() ->
...
...
(É claro que os nomes dos testes não são primeiro e segundo.)
Solução
eunit:test(yourmodule)
ou yourmodule:test()
deve funcionar.
Outras dicas
Execute todos os testes no módulo/suite (conforme resposta do iuriza):
rebar eunit suite=mod_name
Ou você também pode especificar um caso de teste individual (pelo nome da função):
rebar eunit tests=mod_name:test_name
Referências:
Se você estiver usando rebar3
você pode usar o --module
opção por seu Executando testes doutor.
rebar3 eunit --module=your_module
Se você possui vários módulos, mas deseja executar testes apenas para alguns deles, você pode separar os nomes com vírgulas:
rebar3 eunit --module=first_module,second_module,third_module
A documentação contém muitas dicas para limitar os testes executados a um único aplicativo, arquivo, etc.
Você também pode usar:
rebar clean eunit suite=your_module