kotlin-testing
por affaan-mkotlin-testing é um guia prático para automação de testes em Kotlin com Kotest, MockK, testes de corrotinas, testes baseados em propriedades e cobertura com Kover. Use esta skill de kotlin-testing para seguir um fluxo de trabalho amigável ao TDD, escrever testes unitários e de componente mais claros e reduzir a incerteza ao simular dependências ou testar código suspenso.
Esta skill tem nota 78/100 e vale a inclusão: oferece aos agentes um fluxo claro de testes em Kotlin, escolhas concretas de ferramentas e estrutura suficiente para uma decisão de instalação útil. Usuários do diretório devem vê-la como uma skill sólida, mas ainda não totalmente lapidada, já que faltam arquivos de suporte e algum empacotamento operacional que reduziria ainda mais o atrito de adoção.
- Casos de uso claros e acionáveis para criação de testes em Kotlin, cobertura, TDD e testes baseados em propriedades.
- O fluxo operacional está explícito: identificar o código, escrever um spec no Kotest, simular com MockK, rodar RED/GREEN, refatorar e verificar a cobertura com Kover.
- Um corpo grande com exemplos detalhados e referências a repositório/arquivos sugere algo mais robusto do que um simples placeholder.
- Não há comando de instalação nem arquivos de suporte, então a configuração e a integração podem exigir mais interpretação manual.
- Contém marcadores de placeholder ('todo'), o que sugere que algumas seções podem estar incompletas ou ser menos confiáveis em casos de borda.
Visão geral do skill kotlin-testing
Para que serve o kotlin-testing
O skill kotlin-testing é um guia prático para escrever e melhorar testes em projetos Kotlin. Ele foca no que a maioria dos times realmente precisa: escolher um estilo de Kotest, fazer mock de dependências com MockK, testar corrotinas do jeito certo e usar property-based tests e cobertura com Kover sem transformar o código de teste em boilerplate.
Quem deve instalar
Instale o skill kotlin-testing se você está adicionando testes a um app em Kotlin, padronizando a abordagem de testes do time ou quer um fluxo amigável a TDD que combine com Kotlin idiomático. Ele é mais útil para desenvolvedores que trabalham em projetos Kotlin na JVM e precisam de padrões repetíveis, em vez de prompts de teste improvisados.
Onde ele funciona melhor
Este skill se encaixa melhor em tarefas de automação de testes cujo objetivo é cobertura confiável de unit tests ou component tests, e não a configuração de frameworks end-to-end. Ele ajuda quando você precisa escrever o primeiro teste, refatorar asserções frágeis ou entender como isolar código com mocks e corrotinas de um jeito específico para Kotlin.
Como usar o skill kotlin-testing
Instale o kotlin-testing no seu workspace
Use o fluxo de instalação do repositório para o skill e, depois, aponte seu agente para o contexto skills/kotlin-testing antes de pedir código de teste. O comando base de instalação mostrado no repositório é:
npx skills add affaan-m/everything-claude-code --skill kotlin-testing
Para obter os melhores resultados, instale no mesmo workspace onde o código Kotlin está, para que o skill possa trabalhar com arquivos reais, nomes de pacote e ferramentas de build.
Dê ao skill um alvo Kotlin testável
O skill kotlin-testing funciona melhor quando seu prompt nomeia um alvo concreto e um resultado de teste desejado. Boas entradas incluem o nome da classe ou função, o framework que você já usa e quaisquer restrições, como comportamento de corrotinas, regras de mocking ou thresholds de cobertura.
Exemplo de formato de prompt:
Use kotlin-testing to write Kotest tests for UserService.createUser. Mock the repository with MockK, cover success and duplicate-email failure paths, and keep the tests compatible with our Gradle/Kover setup.
Leia primeiro os arquivos certos
Comece com SKILL.md e, depois, inspecione README.md, AGENTS.md, metadata.json e quaisquer pastas rules/, resources/, references/ ou scripts/, se existirem. Neste repositório, SKILL.md é a principal fonte de verdade, então o caminho mais rápido é ler antes suas seções “When to Use”, “How It Works” e “Examples” antes de rascunhar prompts.
Use o fluxo de trabalho, não só os trechos prontos
O repositório é organizado em torno de um fluxo test-first: identificar o alvo, escrever um spec de Kotest, fazer mock das dependências, rodar o teste com falha, implementar o código e, por fim, verificar a cobertura com ./gradlew koverHtmlReport. Isso torna o skill mais útil quando você quer um plano de execução, e não apenas exemplos de asserções.
FAQ do skill kotlin-testing
O kotlin-testing é só para TDD?
Não. TDD é o fluxo padrão do skill, mas os padrões também são úteis quando você está adaptando testes a um código Kotlin já existente. Se você já tem código de implementação, use o skill para adicionar cobertura focada e mocks mais limpos.
Isso substitui um prompt normal?
Ele melhora um prompt comum quando você precisa de decisões específicas de Kotlin: qual estilo de Kotest usar, como fazer mock de corrotinas e como pensar cobertura. Um prompt genérico até consegue escrever testes, mas o kotlin-testing reduz a incerteza sobre a adequação do framework e a estrutura dos testes.
É amigável para iniciantes?
Sim, se você consegue descrever uma unidade ou classe Kotlin e quer um plano de testes guiado. Ele ajuda menos se você não conhece seu sistema de build, ainda não tem um alvo de teste definido ou precisa de orientação ampla de arquitetura em vez de código de teste concreto.
Quando não devo usar o kotlin-testing?
Não use como substituto de automação de navegador, testes de contrato de API ou stacks de teste fora de Kotlin. Se o seu problema é principalmente infraestrutura, ambientes de integração instáveis ou gestão de dados de teste, um skill mais amplo de automação de testes é uma opção melhor do que kotlin-testing.
Como melhorar o skill kotlin-testing
Dê mais contexto do que “escreva testes”
Os melhores resultados com kotlin-testing vêm de entradas precisas: a classe sob teste, os métodos públicos, os branches importantes e qualquer estilo de teste existente que você queira seguir. Diga também se você quer StringSpec, FunSpec ou BehaviorSpec do Kotest, porque isso afeta legibilidade e estrutura.
Declare as restrições difíceis logo no início
Se o seu código usa funções suspensas, flows, colaboradores privados ou gates rígidos de cobertura, diga isso antes da geração. Por exemplo: Use MockK for the repository, test this suspend function with coroutine test support, and keep the assertions compatible with Kover coverage goals.
Peça cobertura para os caminhos de falha
O skill é mais valioso quando você pede testes tanto do caminho feliz quanto dos caminhos de erro, e não apenas “um teste que passe”. Se uma função pode retornar null, lançar exceção, tentar novamente ou validar entrada, peça esses cenários explicitamente para que o conjunto gerado fique pronto para decisão.
Itere afinando o desenho dos testes
Depois da primeira saída, refine o prompt com o que faltou: casos de borda, convenções de nomes, preparação de fixtures ou dependências instáveis. O ciclo de melhoria mais rápido para kotlin-testing é revisar o spec gerado, notar o que parece supermockado ou pouco coberto e pedir uma reescrita mais focada, com o branch exato de que você ainda precisa.
