Essa semana eu fiz uma pesquisa sobre ferramentas de Code Coverage para JavaScript. Para quem ainda não conhece, esse tipo de ferramenta serve para calcular quais trechos de um código foram lidos, e quantas vezes foram lidos. Ou seja, ela observa sua aplicação javascript em execução e faz uma cobertura sobre esse código em questão.
A intenção do uso de uma ferramenta de Code Coverage é verificar se há partes no código que não estejam sendo executadas, como gorduras, por exemplo.
Uma outra prática comum para o uso de Code Coverage é a sua integração no ambiente de testes unitários para medir o quanto do código já foi testado. Isso serve para trechos parciais de métodos, blocos condicionais (if/else/switch).
Como falei sobre a pesquisa, aproveitei para criar um artigo e compartilhar meu relatório que fui montando enquanto via cada opção que encontrei. Também digo que por enquanto fiquei com o JSCoverage mas ainda guardo um interesse em experimentar o CoverJS.
JSCoverage
- Link: JSCoverage
- parece ser ruim demais pra integrar com alguma CI
- funciona e permite criar um servidor para servir os arquivos
- pode ser compilado em qualquer sistema
- open source
CoverJS
- Link: CoverJS
- Em NodeJS e parece ser amigável, considerando também que tem cerca de 2 meses de vida
- Está bem cru ainda, pode estar incompleto ou ainda não 100% funcional
- Mesmo assim vale testar e colaborar no projeto open source
Node Coverage
- Link: Node Coverage
- Também em NodeJS e bem amigável.
- está bem mais sólido que o CoverJS
- sem ver funcionando não ficou muito claro o esquema para ver o report, mas tem uma API JSONP, no mínimo.
script-cover
- Link: script-cover
- Open Source
- Apenas como extensão do Chrome
- Não funcionou 100%, várias funções executadas foram ignoradas, somente suas declarações foram observadas.
JavaScript Code Coverage Tool for Firebug
- Link: JavaScript Code Coverage Tool for Firebug
- projeto descontinuado há 2 anos
- plugin do firebug
- não executa na versão atual do Firefox (13).
Saga
- Link: Saga
- Java, integra com o Maven (ECA!)
- Interface é bonitinha, pelo menos
- Open source, acho, talvez de pra pegar o código e tirar isso das trevas (Java) e fazer um port pra JS
hrtimer -> hrcov
- Link: hrtimer
- Está no mozdev, funciona como extensão do Firefox
- Está muito desatualizado, não tem suporte ao atual Firefox (13)
- Talvez uma das melhores opções entre as demais para trabalhar em cima do código e criar algo novo
- Desatualizado é pouco: versionado em CVS…
Outros que nem vou descrever muito:
- Javascript Coverage Validator – $199!!!
- JesCov – Java CLI sem exemplos de reports
- JsTestDriverCoverage – Java
Outras ferramentas interessante que não são de Code Coverage mas vale a pena citar:
Travis CI
- Link: travis-ci
- CI de projetos open Source
Testosterone
- Link: Testosterone
- Testa servidores HTTP e aplicações NodeJS
- É uma ferramenta para fazer teste viril!








