Meu "Hello, world"
Todo começo precisa de uma apresentação
Toda linguagem tem seu tutorial relacionado ao Olá, mundo, vamos fazer isso aqui também. Mas vamos focar também em como o teste funciona, mas primeiro precisamos criar um projeto usando o mix:
mix new hello_world
* creating README.md
* creating .formatter.exs
* creating .gitignore
* creating mix.exs
* creating lib
* creating lib/hello_world.ex
* creating test
* creating test/test_helper.exs
* creating test/hello_world_test.exs
Your Mix project was created successfully.
You can use "mix" to compile it, test it, and more:
cd hello_world
mix test
Run "mix help" for more commands.Uma vez criado, você terá a seguinte estrutura:
O mix.exs é nosso manifesto, é ali que iremos definir tudo que será utilizado. Nome do projeto, versão, suas dependências e como será executado. A criação do projeto pelo mix nos facilita a etapa de configuração de projeto, saindo pronto para rodar, sem maiores complicações.
Dependências
Todas as dependências vem de um local chamada hex, o que facilita a inserção e atualização de bibliotecas no projeto. Elas são definidas dentro do arquivo mix.exs na função deps. Se algo estiver lá, sera gerido a dependencias de como foi configurada e adicionado ao projeto na pasta deps gerada na raiz do projeto, após rodar o comando para baixar as dependências. Para baixar as dependências basta rodar o comando mix deps.get .
Nosso projeto ainda não possui nenhuma dependência, então a mensagem de "All dependencies are up to date" irá aparecer e podemos seguir.
Testando
Nosso foco de validação vai ser na pasta test na raiz do projeto. Lá estarão todos os testes do projeto e helpers para nos ajudar nisso.
No arquivo hello_world_test.exs está nosso primeiro código:
Por padrão, elixir traz o ExUnit como ferramenta de teste. Obtemos capacidades de teste quando adicionamos o código use ExUnit.Case em nosso arquivo, dando suporte a funções de test, assert, describe e outros.
O código é bem autoexplicativo, temos uma teste chamado "greets the world" nele temos uma afirmação onde a resposta de HelloWorld.hello() deve ser igual a :world caso isso não ocorra, um erro será disparado.
Para rodar esse teste, podemos executar o comando onde executa todos os testes de uma vez ou somente um arquivo especifico. Vamos executar todos de uma vez:
Ao executar o comando teremos um relatório de resposta, O nosso nos diz que rodados 1 doctest e 1 test e não tivemos nenhuma falha.
Caso a resposta esteja diferente do esperado, você poderá ver o erro no relatório. Vamos alterar o teste para esperar :new_world e ver o que o relatório nos trás.
Basta agora rodar o teste e verificar o relatório:
No seu terminal terá cores melhores, em vermelho e verde, mas aqui já da de ter noção da resposta e também o que está incorreto. Vamos voltar agora o teste para tudo voltar a funcionar.
Os testes em elixir funcionam assim. São de extrema importância e simples de serem usados.
Conclusão
Teste é uma ferramentas importante no desenvolvimento de software, nos ajudando a garantir o comportamento de nossos códigos. Nós próximos capítulos iremos conhecer mais da linguagem por meio do teste, para já termos uma base boa de como as coisas funcionam. Espero ver vocês por lá.
Last updated
Was this helpful?