docs/Codecov_e_Coveralls.md
## O que 茅 o Codecov - 脡 uma ferramenra que mede a cobertura de testes do nosso c贸digo. Desta forma, mostra quais m茅todos e instru莽玫es no c贸digo n茫o s茫o testados;- Ele est谩 dispon铆vel para tr锚s reposit贸rios compat铆veis com o CodeBuild: GitHub, itHub Enterprise Server e Bitbucket; ### Como integrar o Codecov com o nosso projeto? 1. Ir para https://codecov.io/signup e cadastrar em um reposit贸rio de origem GitHub;2. No Codecov adicionar o nosso reposit贸rio;3. Quando as informa莽玫es de token forem exibidas, escolher "Copy";4. Adicionar o token copiado como uma vari谩vel de ambiente chamada `CODECOV_TOKEN` ao nosso projeto de compila莽茫o;5. Criar um arquivo de texto chamado `my_script.sh` no reposit贸rio, depois inserir o arquivo: ``````#/bin/bashbash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN``````6. Como nosso projeto 茅 em Python, seguimos os comandos: ``````build: - pip install coverage - coverage run -m unittest discoverpostbuild: - echo 'Connect to CodeCov' - bash my_script.sh``````7. Ap贸s executar uma compila莽茫o do projeto, um link para relat贸rios do Codecov gerados para o porjeto aparece em `logs de compila莽茫o`, usaremos esse link para visiualizar os relat贸rios do Codecov8. As informa莽玫es nos logs ficam assim: ```````[Container] 2023/01/12 16:31:04 Running command bash my_script.sh _____ _ / ____| | || | ___ __| | ___ ___ _____ __| | / _ \ / _` |/ _ \/ __/ _ \ \ / /| |___| (_) | (_| | __/ (_| (_) \ V / \_____\___/ \__,_|\___|\___\___/ \_/ Bash-20200303-bc4d7e6 路[0;90m==>路[0m AWS CodeBuild detected.... The full list of Codecov log entries has been omitted for brevity ... 路 路[0;32m->路[0m View reports at 路[0;36mhttps://codecov.io/github/user/test_py/commit/commit-id路[0m [Container] 2020/03/09 16:31:07 Phase complete: POST_BUILD State: SUCCEEDED``````` ## O que 茅 Coveralls - Tamb茅m 茅 uma ferramenta de testes como o Codecov que gera relat贸rios sobre os testes do nosso projeto. Agora vamos ver uma forma de executar os testes localmente, com o conjunto de comandos que mostrarei abaixo: ### Instala莽a玫 ``````pip install coveralls`````` > Ap贸s a instala莽茫o do m贸dulo, se criar谩 um script de linha de comando chamado `coverage`, para a vers茫o 2.7 do Python podemos utilizar o comando `coverage` ou `coverage2`, para a vers茫o 3 `coverage3`. ### Gerando relat贸rios ``````coverage run --source=nomedopacote setup.py test``````> esse comando ir谩 coletar dados do c贸digo fonte, mas caso usemos o reposit贸rio, serua por exemplo: ``````coverage run --source=codigo_no_rep setup.py test`````` > executando o comando `ls -la` no terminal, veremos o arquivo `.coverage`, ele cont茅m informa莽玫es sobre o nosso c贸digo. ``````coverage report`````` > Com esse comando, um relat贸rio com a porcentagem de cobertura de testes de cada arquivo de c贸digo fonte ser谩 exibido no terminal. Das colunas exibidas, podemos extrair: > Smts: indica o total de trechos do c贸digo que devem ser testados. > Miss: coluna que indica quantos trechos do c贸digo ainda n茫o est茫o sob testes. > Cover: indica a porcentagem de cobertura de testes do arquivo fonte. > Em `TOTAL`temos a porcentagem da cobertura total dos testes, conseguir uma porcentagem perto de 80% 茅 satisfat贸rio para o Coveralls.