### O que o JaCoCo mede quando gera um relatório de cobertura?
> Dica: revise a seção O que a planta mostra e o slide O que ele mede
- [ ] Se o resultado de cada teste está correto
- [x] Quanto do código foi executado durante os testes
- [ ] O tempo de resposta dos endpoints
- [ ] Quantos bugs ainda existem no projeto
### Na metáfora da planta da casa, o que corresponde a um ramo (`if` / `else`)?
> Dica: revise a seção A planta da casa e o slide de mesmo nome
- [ ] A pessoa que entra e acende a luz, isto é, o teste
- [ ] A ala inteira, isto é, a classe
- [x] Uma porta do cômodo
- [ ] O relatório HTML já pronto
### No relatório HTML, o que significa uma linha amarela com um losango?
> Dica: revise a seção Como ler as cores e o slide As cores do relatório
- [ ] A linha nunca foi executada
- [ ] A linha foi executada e todos os caminhos dela também
- [x] A linha foi executada, mas algum caminho dela ficou de fora
- [ ] O teste que passa por essa linha falhou
### Por que a cobertura de linhas pode subir sem a de ramos acompanhar?
> Dica: revise a seção Linha e ramo não são a mesma coisa e o Exercício 6
- [ ] Porque o JaCoCo ignora métodos com `if`
- [x] Porque a linha do `if` já conta como executada quando só uma porta foi aberta
- [ ] Porque ramos só existem em testes de integração
- [ ] Porque linha e ramo são o mesmo contador com nomes diferentes
### Por que, num projeto Quarkus, a extensão `quarkus-jacoco` substitui o uso simultâneo do `jacoco-maven-plugin`?
> Dica: revise a seção Por que a extensão, e não o plugin sozinho e o slide Por que a extensão no Quarkus?
- [ ] Porque o plugin Maven não existe mais
- [x] Porque o Quarkus usa o próprio classloader, e os dois juntos instrumentam a classe duas vezes
- [ ] Porque a extensão só funciona no modo nativo
- [ ] Porque o plugin não gera relatório HTML
### Qual é o escopo Maven da dependência `quarkus-jacoco`?
> Dica: revise a seção Como ligar neste projeto e o slide Como ligar
- [ ] `compile`
- [ ] `runtime`
- [x] `test`
- [ ] `provided`
### Depois de `./mvnw test -Dtest=BooksServiceTest`, onde você abre o relatório HTML?
> Dica: revise o Exercício 1
- [ ] `src/main/resources/index.html`
- [ ] `target/jacoco-report/index.html`
- [x] `target/site/jacoco/index.html`
- [ ] `target/quarkus-app/jacoco.html`
### Para que serve `quarkus.jacoco.excludes`?
> Dica: revise a seção Como ligar neste projeto e o Exercício 5
- [ ] Impedir que os testes sejam executados
- [ ] Falhar o build quando a cobertura fica abaixo de um número
- [x] Tirar do relatório classes que não são a regra de negócio, como um DTO
- [ ] Trocar as cores verde, amarelo e vermelho
### Um projeto com 100% de cobertura ainda pode ter defeito. Por quê?
> Dica: revise a seção A planta da casa
- [ ] Porque o JaCoCo só conta comentários
- [x] Porque cobertura mostra o que foi executado, e o `assert` é quem confere se o resultado está certo
- [ ] Porque 100% só vale para a coluna de instruções
- [ ] Porque o relatório HTML arredonda os percentuais para cima
### O que o Exercício 3 pede para você observar em `author == null || author.isBlank()`?
> Dica: revise o Exercício 3 e o slide O losango âmbar
- [ ] Que o `BooksService.add` continue vermelho
- [x] Que o autor vazio deixa o ramo parcial, e o autor nulo cobre o outro lado do `||`
- [ ] Que `Book.of` com autor nulo devolva o livro
- [ ] Que a classe `BookRequest` suma do relatório
### A extensão `quarkus-jacoco`, sozinha, cobre qual tipo de teste?
> Dica: revise a seção Como ligar neste projeto
- [ ] Qualquer teste JUnit, com ou sem Quarkus
- [ ] Apenas testes do modo nativo
- [x] Testes anotados com `@QuarkusTest`
- [ ] Apenas testes anotados com `@QuarkusIntegrationTest` no executável nativo
### O que acontece com este relatório se você gerar o executável nativo do Quarkus?
> Dica: revise a seção Como ligar neste projeto
- [ ] O relatório passa a incluir também o código nativo
- [ ] A cobertura de ramos é calculada duas vezes
- [ ] O arquivo `jacoco-quarkus.exec` vira um executável
- [x] Esse relatório de cobertura não é gerado no modo nativo