Se você é como eu e adora ler os changelogs, pode ter notado que a última versão do ui5, v1.113.0, introduziu uma nova ferramenta de cobertura de código chamada
Istanbul
para substituir o antigo
Blanket.js
(a última versão tem 7 anos). Istanbul é talvez a ferramenta de cobertura de código mais famosa e utilizada.
Usar
Istanbul
não é complicado e você não precisa alterar seus scripts de teste, apenas algumas configurações do projeto. Lembre-se, isso é apenas para seus testes, não afetará sua compilação nem os artefatos implantados.
Como fazer
Você precisa instalar um novo middleware do ui5 em seu projeto:
@ui5/middleware-code-coverage
.
Ver exemplo:
package.json
npm install --save-dev @ui5/middleware-code-coverage
Atualize seu arquivo ui5.yaml para incluir o novo middleware. Novamente, isso afeta apenas o desenvolvimento local, não a aplicação em execução em seu servidor.
Ver exemplo:
ui5.yaml
server:
customMiddleware:
- name: "@ui5/middleware-code-coverage"
afterMiddleware: compression
Por último, atualize o arquivo unitTests.qunit.html (ou como você nomeou seu arquivo de teste html).
Ver exemplo:
unitTests.html
<script type="text/javascript" src="../../resources/sap/ui/qunit/qunit-coverage-istanbul.js"></script>
Isso é tudo! Fácil, simples e rápido. Você está pronto para executar seus testes e verificar os resultados de cobertura.
Cobertura de código QUnit
Resultados de cobertura