08. Webinars Bônus 2019: Testes Idiomáticos em Kotlin
Este tópico reúne os webinars bônus dedicados a Testes Idiomáticos em Kotlin com JUnit 6 e MockK. Ao concluirmos todas as aulas deste tópico, nós:
- Saberemos como configurar projetos Kotlin no Gradle e Maven e otimizar o ciclo de vida do JUnit com
@TestInstance(Lifecycle.PER_CLASS). - Dominaremos o MockK em profundidade: mocks de classes,
objects, funções top-level, extension functions, coroutines (coEvery/coVerify), stubbing avançado e capturing slots. - Saberemos como escrever testes unitários idiomáticos em Kotlin para APIs REST do Spring Boot.
Conteúdo
-
Configurando Compilador Kotlin 2.4 e Plugins Spring
Aprenda passo a passo como configurar um projeto com o compilador Kotlin 2.4.21, plugins Spring (all-open), diretórios separados, perfis de execução e tags do JUnit Jupiter 6.0.3 no Maven e no Gradle 9.8.2 Kotlin DSL para compilar e executar testes unitários e de integração.
-
Otimizando a Execução de Testes Kotlin no Gradle 9
Configure um projeto Gradle 9.8.2 com Kotlin DSL para compilar e executar testes unitários e de integração isolados usando Kotlin 2.4.21, JUnit Jupiter 6.0.3, AssertJ 3.27.7 e JVM Test Suite Plugin.
-
Classes de Teste Limpas com Kotlin e JUnit 6
Aprenda a criar classes de teste limpas com Kotlin 2.4.21 e JUnit Jupiter 6.0.3, adicionando funções de setup e teardown (@BeforeAll, @AfterAll, @BeforeEach, @AfterEach com companion object e @JvmStatic ou ciclo de vida @TestInstance) e estruturando testes aninhados com inner class e @Nested.
-
Testes Parametrizados com Kotlin e JUnit 6: Parte 1
Aprenda a configurar dependências no Maven e Gradle 9.8.2 (Kotlin DSL), escrever testes parametrizados com Kotlin 2.4.21 e JUnit Jupiter 6.0.3, customizar nomes de invocação e utilizar @ValueSource, @NullSource, @EmptySource, @NullAndEmptySource, @EnumSource, @CsvSource, @CsvFileSource, @MethodSource e @ArgumentsSource.
-
Testes Parametrizados com Kotlin e JUnit 6: Parte 2
Domine a conversão implícita e explícita de argumentos com funções de fábrica, construtores de fábrica e ArgumentConverter, agregação de múltiplos argumentos com ArgumentsAccessor e ArgumentsAggregator, e aplicação prática em métodos de busca usando Kotlin 2.4.21, JUnit Jupiter 6.0.3 e AssertJ 3.27.7.
-
Dominando o MockK, Parte 1: Mocks de Classes e Objetos
Aprenda o que é o MockK, como configurar suas dependências no Gradle 9.8.2 (Kotlin DSL) e Maven para Kotlin 2.4.21, criar dublês de teste (stubs, mocks estritos/relaxados, objetos singleton Kotlin e spies) manualmente ou via anotações, e integrá-lo ao JUnit Jupiter 6.0.3.
-
Dominando o MockK, Parte 2: Coroutines e Extensions
Aprenda a dominar a correspondência de argumentos (argument matching) no MockK 1.14 com Kotlin 2.4.21, JUnit Jupiter 6.0.3 e AssertJ 3.27.7 em projetos Spring Boot 4.1.2 e Gradle 9.8.2, explorando 12 exemplos práticos de matchers como eq(), neq(), refEq(), cmpEq(), less(), more(), any(), ofType(), match() e combinação de valores com matchers.
-
Técnicas Avançadas de Stubbing de Funções
Domine o stubbing de funções com MockK 1.14 em Kotlin 2.4 e JUnit Jupiter 6: aprenda a usar every, returns, returnsMany, throws e answers com Answer Scope.
-
Verificando Invocações e Slots no MockK
Aprenda a verificar interações entre o sistema sob teste e mocks com MockK 1.14, Kotlin 2.4 e JUnit 6 usando verify(), confirmVerified(), verifyAll(), verifyOrder(), verifySequence() e argument matchers.
-
Testes Unitários de API REST com Kotlin: Configuração
Aprenda a remover código duplicado da suíte de testes usando Object Mother e HTTP Request Builders e a configurar o sistema sob teste (SUT) na modalidade standalone com Kotlin 2.4, JUnit Jupiter 6, MockK 1.14 e Spring Boot 4.1.
-
Testes Unitários de API REST com Kotlin: Leitura
Aprenda passo a passo como escrever testes unitários para endpoints de leitura (GET) de uma API REST que retorna JSON utilizando Kotlin 2.4, JUnit Jupiter 6, MockK 1.14 e MockMvc no Spring Boot 4.1.
-
Testes Unitários de API REST com Kotlin: Escrita
Aprenda a escrever testes unitários para uma API REST em Kotlin que salva dados no banco de dados e retorna JSON com JUnit Jupiter 6, MockK 1.14, Spring Boot 4.1 e HandlerMethodArgumentResolver customizado.