### O que caracteriza um teste unitário? > Dica: revise a seção O que é teste unitário e o slide O que é JUnit - [ ] Executar o sistema completo com usuários reais - [x] Avaliar pequenos componentes, como métodos ou classes, de forma isolada - [ ] Medir apenas o desempenho da aplicação em produção - [ ] Substituir a revisão de código por inspeções manuais ### Por que a classe Book do exemplo hexagonal é um bom alvo de teste unitário? > Dica: revise a seção O domínio Book como unidade sob teste - [ ] Porque ela depende diretamente do MySQL - [ ] Porque só funciona dentro do Quarkus - [x] Porque é domínio em Java puro e valida regras em Book.of sem infraestrutura - [ ] Porque substitui o JUnit ### No Exemplo 1, o que a anotação @Test indica? > Dica: revise a seção Primeiro teste e o slide Exemplo de Teste com JUnit 5 - [ ] Que o método configura o ambiente antes de todos os testes - [x] Que o método é um caso de teste a ser executado pelo JUnit - [ ] Que o método deve ser ignorado na execução - [ ] Que o método define a ordem de execução dos testes ### Qual é a diferença entre @BeforeAll e @BeforeEach? > Dica: revise a seção Anotações e o slide Principais Anotações do JUnit 5 - [ ] @BeforeAll roda antes de cada teste; @BeforeEach roda uma vez só - [ ] Ambas executam depois de cada método de teste - [x] @BeforeAll roda uma vez antes de todos os testes; @BeforeEach roda antes de cada teste - [ ] @BeforeAll só funciona com @Order; @BeforeEach só com @Tag ### Para que serve a anotação @DisplayName? > Dica: revise a seção Anotações, após o Exemplo 2 - [ ] Definir a ordem de execução dos testes - [ ] Agrupar testes por categoria no Surefire - [x] Atribuir um nome mais significativo ao teste nos relatórios - [ ] Verificar se uma exceção foi lançada ### Qual assertiva é adequada para verificar que Book.of lança InvalidBookException com título em branco? > Dica: revise a seção Assertivas e o slide assertThrows com Book - [ ] assertEquals - [ ] assertTrue - [ ] assertNull - [x] assertThrows ### Em assertThrows, por que o código sob teste costuma aparecer em uma expressão lambda? > Dica: revise o Exemplo 4 sobre assertThrows - [ ] Porque lambdas são obrigatórias em todo teste do JUnit 5 - [x] Para que a assertiva possa capturar e verificar a exceção lançada naquele bloco - [ ] Para tornar o teste mais rápido - [ ] Porque o Surefire só reconhece lambdas ### Qual boa prática os slides e o texto reforçam sobre testes unitários? > Dica: revise a seção Boas práticas e o slide Boas Práticas - [ ] Um teste pode depender do estado deixado pelo teste anterior - [ ] Todos os testes devem ficar em uma única classe - [x] Cada teste deve ser independente e usar nomes descritivos - [ ] Nomes de métodos de teste não importam, desde que haja @Test ### No Maven com Surefire, qual convenção de nome ajuda a incluir uma classe de teste na execução de mvn test? > Dica: revise a seção JUnit com Maven - [ ] Prefixo Main no nome da classe - [x] Sufixo Test no nome da classe, por exemplo BookTest - [ ] Extensão .junit no arquivo - [ ] Pacote obrigatório chamado surefire ### Nos exercícios práticos sobre Book, o que o estudante deve fazer? > Dica: revise a seção Exercícios práticos - [ ] Escrever apenas testes de integração com RestAssured - [x] Criar BookTest e cobrir criação válida e rejeições com assertThrows - [ ] Alterar o código de produção de Book antes de testar - [ ] Usar Mockito obrigatoriamente em todos os cenários