Kover é um conjunto de soluções para coletar cobertura de teste de código Kotlin compilado para plataformas JVM e Android.
Conjunto de ferramentas Kover:
Plug-in Kover Gradle
Plug-in Kover Maven
Kover CLI
Instrumentação off-line Kover
Agente Kover JVM
Kover apresenta artefato
Para obter informações completas sobre a versão estável mais recente do plug-in Kover Gradle, consulte a documentação.
Coleta de cobertura de código por meio de testes JVM
(JS e destinos nativos ainda não são suportados).
Geração de relatórios HTML
e XML
.
Suporte para projetos Kotlin JVM
Kotlin Multiplatform
.
Suporte para projetos Kotlin Android
com variantes de compilação (testes de instrumentação executados no dispositivo Android ainda não são suportados).
Suporta fontes mistas Kotlin
e Java
Regras de verificação com limites no plugin Gradle para acompanhar a cobertura.
Utilização da biblioteca JaCoCo no plugin Gradle como alternativa para medição de cobertura e geração de relatórios.
A forma recomendada de aplicação do Kover é com os plugins DSL.
A versão mínima suportada do Gradle
é 6.8
.
Adicione o seguinte ao seu arquivo de compilação de nível superior:
plug-ins { id("org.jetbrains.kotlinx.kover") versão "0.9.0-RC"}
plug-ins { id 'org.jetbrains.kotlinx.kover' versão '0.9.0-RC'}
Depois de aplicar o plugin Kover Gradle, as tarefas Kover serão criadas para geração de relatórios e verificação. Por exemplo, para gerar um relatório HTML, execute ./gradlew koverHtmlReport
- isso iniciará automaticamente a compilação do código, a execução de testes instrumentados e um relatório HTML será gerado com os resultados da medição na pasta de construção.
Também é importante que após a aplicação do plugin Kover Gradle, durante a execução dos testes, as classes sejam modificadas (instrumentadas) ao serem carregadas na JVM o que pode levar a alguma degradação de desempenho, ou afetar testes simultâneos.
O método legado de aplicação de plug-ins pode ser usado se você não puder usar os plug-ins DSL por algum motivo.
script de construção { repositórios { mavenCentral() } dependências { classpath("org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC") } }apply(plugin = "org.jetbrains.kotlinx.kover")
script de construção { repositórios { mavenCentral() } dependências { caminho de classe 'org.jetbrains.kotlinx:kover-gradle-plugin:0.9.0-RC'} } aplicar plugin: 'org.jetbrains.kotlinx.kover'
Você tem que adicionar dependência no projeto, no qual a tarefa de relatório será executada
dependências { kover(projeto(":outro:projeto")) }
neste caso, o relatório será gerado para o projeto atual unido a :another:project
project.
Mais exemplos de aplicação do plugin Gradle podem ser encontrados na pasta de exemplos
Kover Aggregated Plugin como um protótipo do plugin Gradle Settings, criado para simplificar a configuração de compilações de vários projetos. Está em sua infância, recomenda-se usá-lo apenas para testes ou projetos de estimação.
Consulte a documentação para obter detalhes.
O plug-in Kover Maven pode ser aplicado especificando o plug-in de construção
<plug-in> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>Kover-maven-plugin</artifactId> <versão>0.9.0-RC</versão> </plugin>
A lista de metas de Kover está especificada nesta seção do documento.
Para obter informações completas sobre a versão estável mais recente do plug-in Kover Maven, consulte a documentação.
Aplicativo JVM autônomo usado para instrumentação offline e geração de relatórios legíveis por humanos.
Documentação da CLI Kover.
A instrumentação offline é a modificação de arquivos de classe armazenados em disco para medir sua cobertura.
As formas de instrumentação offline e execução dos aplicativos instrumentados estão descritas na documentação.
O agente JVM é um arquivo jar que modifica o bytecode carregado nas classes JVM para medir a cobertura. Documentações.
Uma dependência JVM que permite instrumentar programaticamente arquivos de classe em um disco.
Documentação do artefato de recursos Kover
Consulte Diretrizes de contribuição.