📊 Slides: Cap 21 — Testes de Combate: Qualidade

📖 Ver Cap 21 completo

Resumo visual da aula, em blocos — use como roteiro de revisão ou apresentação.


🟦 Slide 1: Objetivo da Aula


🟦 Slide 2: O Cenário Prático

Você mudou o cálculo de dano e quebrou a cura — agora os jogadores são imortais! Crie um Escudo de Qualidade: um teste que verifica se 10 - 2 = 8 de dano, sempre.


🟦 Slide 3: Dicionário do Programador

Termo Significado
Teste de Unidade Testar uma “peça” (função) isolada do app
Assert (Afirmar) “Eu afirmo que o resultado deve ser X” — se for diferente, falha
Mock (Dublê) “Servidor de mentira” para testes rápidos, sem internet — criado com mockk() e configurado com every { ... } returns ...

📐 Padrão GIVEN / WHEN / THEN: Dado que (entrada) → Quando (ação) → Então (resultado esperado)


🟦 Slide 4: Do Teste ao Resultado

graph LR
    A["Dados de Teste"] --> B(Sua Função)
    B --> C[Resultado]
    C --> D{Comparação: Assert}
    D -->|Sucesso| E["✅ Teste Passou"]

🟦 Slide 5: Exemplo — Testando o Dano

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test

class CombateTest {
    @Test
    fun verificarCalculoDeDano() {
        // GIVEN: Dado que o ataque é 10 e a defesa é 2
        val ataque = 10
        val defesa = 2

        // WHEN: Quando calculamos o dano
        val resultado = calcularDano(ataque, defesa)

        // THEN: Então o resultado DEVE ser 8
        assertEquals(8, resultado)
    }
}

🟦 Slide 6: Avançado — Mock com MockK

interface RankingService {
    fun buscarRecorde(): Int
}

fun bateuRecorde(servico: RankingService, pontuacaoAtual: Int): Boolean {
    return pontuacaoAtual > servico.buscarRecorde()
}

🟦 Slide 7: Prática e Próximos Passos


⬅️ Voltar para Slides