AVA.js: um test runner futurístico – Parte 02
Na primeira parte desta série, falamos sobre como instalar e rodar seu primeiro teste com o AVA.js. Agora, vamos ver como configurá-lo para que ele se adapte ao seu projeto e suas preferências.
Na primeira parte desta série, falamos sobre como instalar e rodar seu primeiro teste com o AVA.js. Agora, vamos ver como configurá-lo para que ele se adapte ao seu projeto e suas preferências.
Arquivos personalizados
Já vimos que o AVA tem como padrão o arquivo test.js. Mas existe algumas maneiras de configurá-lo para enxergar outros aquivos ou ir para um diretório específico. A mais simples delas é passando o argumento direto no comando:
"scripts": {
"test": "ava ./tests/*"
}
É possível deixar seus testes separados em diversos diretórios:
"scripts": {
"test": "ava **/*.spec.js"
}
Para deixar nossa configuração mais legível, podemos colocar isso dentro do objeto AVA no package.json. Fica assim:
"scripts": {
"test": "ava"
},
"ava": {
"files": [
"**/*.spec.js"
]
}
Babel
Caso seu projeto use Babel, basta acrescentá-lo no package.json:
"scripts": {
"test": "ava"
},
"ava": {
"files": [
"**/*.spec.js"
],
"require": [
"babel-register"
],
"babel": "inherit"
}
Saída no console
Após a configuração do ambiente de testes, você poderá configurar a saída do resultados dos testes no console. Existem três opções:
default:
verbose:
Permite ver os detalhes de cada teste de forma mais clara. Basta acrescentar “verbose”: true ao seu package.json.
Tap:
O AVA possui suporte a todos os tap reporters. Por exemplo, você pode usar o tap-nyan com o comando ava –tap | tap-nyan.
Coverage
Caso queria um relatório da atual cobertura do código no seu projeto, você pode usar o nyc. A utilização é bem simples: basta adicionar como dependência do seu projeto e adicionar o script “coverage”, como no exemplo abaixo:
"scripts": {
"test": "ava"
"coverage": "nyc npm test"
},
"ava": {
"files": [
"**/*.spec.js"
],
"require": [
"babel-register"
],
"babel": "inherit"
}
Watcher
Outra feature importante para ser acrescentada é assistir as modificações em seu código e rodar os testes novamente. Essa é uma prática que ajuda bastante e pode ser feita com a opção -w. Assim:
"scripts": {
"test": "ava"
"watch:test": "npm test -- -w"
}
No fim, nosso package.json ficou da seguinte forma:
"scripts": {
"test": "ava"
"coverage": "nyc npm test"
"watch:test": "npm test -- -w"
},
"ava": {
"files": [
"**/*.spec.js"
],
"require": [
"babel-register"
],
"babel": "inherit"
}
Existem ainda outras configurações possíveis, que podem ser encontradas no repositório do AVA.js.
No próximo artigo, vou mostrar exemplos de testes mais parecidos com os nossos projetos reais. Até a próxima!
***
Artigo publicado originalmente em: http://www.concretesolutions.com.br/2017/01/02/ava-js-test-runner-futuristico-2/










