Uwaga nr 1: Podczas setup-owania własnego projektu można “posiłkować się” projektem trenera.
Uwaga nr 2: kroki 3 oraz 4 są opcjonalne, aczkolwiek bardzo polecane
Instalujemy jest
oraz biblioteki powiązane
cd TWOJ_PROJEKT
npm install jest babel-jest babel-preset-env regenerator-runtime
Tworzymy plik .babelrc
, w którym piszemy
{
"presets": ["env"]
}
Tworzymy katalog src
a w nim dwa pliki - index.js
a także index.test.js
.
index.js
zostawiamy na razie pusty, a w index.test.js
piszemy
import './index';
test('Jest should work', () => {
});
W pliku package.json
modyfikujemy/dodajemy w sekcji scripts
polecenia
test
oraz test:watch
:
{
"scripts": {
"test": "jest",
"test:watch": "jest --watchAll"
}
}
Testujemy setup:
Jeśli wszystko działa poprawnie, to po wykonaniu w terminalu następującego polecenia
npm test
powinniście zobaczyć następujące napisy
PASS src/index.test.js (5.149s)
√ Jest should work (15ms)
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 8.294s
Ran all test suites.
Tworzymy plik .editorconfig
w którym wpisujemy
root = true
[*]
end_of_line = lf
insert_final_newline = false
[*.{babelrc,js,jsx,html,css,sass}]
charset = utf-8
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
Instalujemy pakiet eslint
npm install eslint
tworzymy plik konfiguracyjny .eslintrc.json
w którym wpisujemy
{
"env": {
"browser": true,
"es6": true,
"node": true,
"jest": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 2018,
"sourceType": "module"
},
"rules": {
"indent": [
"error",
2
],
"linebreak-style": [
"error",
"unix"
],
"quotes": [
"error",
"single"
],
"semi": [
"error",
"always"
]
}
}
Tworzymy plik .gitignore
, w którym wpisujemy
node_modules
npm-debug.log
*~
Komitujemy zmiany i puszujemy (wypychamy) na GitHub
git add .
git commit -m "Setup project"
git push origin HEAD:master