O Codecov é uma ferramenta que mede a cobertura de teste do seu código. O Codecov identifica quais métodos e instruções em seu código não são testados. Use os resultados para determinar onde escrever testes para melhorar a qualidade do seu código. O Codecov está disponível para três dos repositórios de origem compatíveis com o CodeBuild: GitHub, GitHub Enterprise Server e Bitbucket. Se o projeto de compilação usa o GitHub Enterprise Server, é necessário usar o Codecov Enterprise.
Quando você executa uma compilação de um projeto do CodeBuild integrado ao Codecov, os relatórios do Codecov que analisam o código no repositório são carregados no Codecov. Os logs de compilação incluem um link para os relatórios. Este exemplo mostra como integrar um projeto de compilação Python e um Java com o Codecov. Para obter uma lista de idiomas compatíveis com o Codecov, consulte Idiomas compatíveis pelo Codecov
Integrar o Codecov em um projeto de compilação
Use o procedimento a seguir para integrar o Codecov em um projeto de compilação.
Como integrar o Codecov com seu projeto de compilação
-
Vá para https://codecov.io/signup
e cadastre-se em um repositório de origem GitHub ou Bitbucket. Se você usar o GitHub Enterprise, consulte Codecov Enterprise no site do Codecov. -
No Codecov, adicione o repositório para o qual você deseja cobertura.
-
Quando as informações de token forem exibidas, escolha Copy (Copiar).
-
Adicione o token copiado como uma variável de ambiente chamada
CODECOV_TOKEN
ao seu projeto de compilação. Para obter mais informações, consulte Alterar configurações de um projeto de compilação (console). -
Crie um arquivo de texto chamado
my_script.sh
em seu repositório. Insira o seguinte no arquivo:#/bin/bash bash <(curl -s https://codecov.io/bash) -t $CODECOV_TOKEN
-
Escolha a guia Python ou Java conforme apropriado para o uso do seu projeto de compilação e siga estas etapas.
-
Adicione o seguinte plugin JaCoCo
pom.xml
ao seu repositório.<build> <plugins> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.2</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>test</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
-
Insira os seguintes comandos em seu arquivo buildspec. Para obter mais informações, consulte Sintaxe de buildspec.
build: - mvn test -f pom.xml -fn postbuild: - echo 'Connect to CodeCov' - bash my_script.sh
-
Execute uma compilação do seu projeto de compilação. Um link para relatórios do Codecov gerados para seu projeto aparece em seus logs de compilação. Use o link para visualizar os relatórios do Codecov. Para obter mais informações, consulte Executar compilações do AWS CodeBuild manualmente e Registrar chamadas de API do AWS CodeBuild com o AWS CloudTrail. As informações do Codecov nos logs de compilação são semelhantes às seguintes:
[Container] 2020/03/09 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: SUCCEEDEDOs relatórios são semelhantes aos seguintes: