Vamos testar: common_test
- 2 minutes read - 220 wordscommon_test é uma das aplicações mais interessantes que acompanha a
distribuição Erlang/OTP. Digo isso pois os casos de uso que a ferramenta resolve
são baseados em casos reais da indústria. Podemos realizar vários tipos de
testes, por exemplo:
- black-box, utilizando algum protocolo de comunicação: ssh, netconf, telnet, ftp
- white-box, para testar aplicações escritas em Erlang ou Elixir, fazendo chamadas reais
- unit tests, há vários projetos que utilizam somente o
common_testpara implementar todos os testes necessários
É possível criar suites de testes com várias formas de execução dos testes e organização. Por exemplo: grupos, subgrupos; execução serial, paralela ou definida por cada grupo.
common_test não possui nenhum suporte para asserts dos valores dentro de um
teste, não é como eunit. Então para verificar os valores, acabamos utilizando
pattern matching. Mas nada impede de utilizar as macros do eunit, caso
deseje uma abordagem mais xunit.
Os principais pontos que acho importante são:
- possuei um suporte para carregar configurações dos testes
- relatórios de execução e histórico de execução de cada teste
- suporte para alguns utilitários tais como: ssh, ftp, rpc, cliente netconf, snmp, telnet
- suporte para testes distribuídos em um cluster Erlang ou não
Duas principais documentações de referência:
- Documentação oficial: common_test
- Common Test for Uncommon Tests
É importante ler a documentação pois oferece dicas de como escrever e organizar os testes.