### 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