Skip to content

Commit abf46a8

Browse files
committed
add code-coverage.md
1 parent ae94383 commit abf46a8

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

Diff for: readme.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,5 @@ Service Workers
7070
- [x] [Métodos do Chai](tdd-features/metodos-chai.md)
7171
- [x] [Smoke Tests](tdd-features/smoke-test.md)
7272
- [x] [Testes de uma calculadora simples](tdd-features/calc-tdd.md)
73-
- [x] [Desafio FizzBuzz](tdd-features/desafio-fizz-buzz.md)
73+
- [x] [Desafio FizzBuzz](tdd-features/desafio-fizz-buzz.md)
74+
- [x] [Code Coverage](tdd-features/code-coverage.md)

Diff for: tdd-features/code-coverage.md

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Code Coverage
2+
3+
> O Coverage tem o objetivo de analisar quanto % do seu código está coberto por teste, podemos utilizá-lo com o hoook no prepush para garantir que só seja posível realizar um push com x% do código coberto pelo teste.
4+
5+
Utiizaremos a biblioteca nyc para realizar o code coverage, execute o comanado `npm install --save-dev nyc` no terminal dentro da pasta do projeto.
6+
7+
Configure o package.json conforme abaixo:
8+
```JS
9+
/* package.json */
10+
"scripts": {
11+
"lint": "./node_modules/.bin/eslint src/*.js",
12+
"prepush": "npm run lint && npm run test:coverage",
13+
"test": "./node_modules/.bin/mocha tests/**/*.spec.js --require babel-register",
14+
"test:tdd": "./node_modules/.bin/mocha tests/**/*.spec.js --require babel-register --watch",
15+
"test:coverage": "nyc npm test"
16+
},
17+
"nyc": {
18+
"functions": 80,
19+
"lines": 80,
20+
"check-coverage": true,
21+
"reporter": ["text", "html"],
22+
"exclude": ["tests/**"]
23+
},
24+
```
25+
A linha 12 garante que todos os push só rodem com sucesso se obtiver sucesso no lint(padrão do código) e sucesso no test:coverage(% de código testado conforme configurado no "nyc").<br/>
26+
`"prepush": "npm run lint && npm run test:coverage"`
27+
28+
A linha 15 corresponde ao comando para executar o `test:coverage`<br/>
29+
`"test:coverage": "nyc npm test"`
30+
31+
Na linha 17 está configurado como queremos nosso teste coverage
32+
```JS
33+
"nyc": {
34+
"functions": 80, //- 80% das funções devem ser cobertas por teste
35+
"lines": 80, //- 80% das linhas devem ser cobertas por teste
36+
"check-coverage": true, //- dever ser checkado o coverage
37+
"reporter": ["text", "html"], //- cria o arquivo coverage/index.html para visualisar o coverage no browser
38+
"exclude": ["tests/**"]
39+
},
40+
```

0 commit comments

Comments
 (0)