Changes
Page history
Create unit tests local
authored
Jul 11, 2019
by
Taras Gaidukov
Show whitespace changes
Inline
Side-by-side
Configure-unit-tests-on-local-machine.md
0 → 100644
View page @
c2a681ef
# Configure unit tests on local machine
https://jasmine.github.io/
\
https://karma-runner.github.io/latest/index.html
## Write unit tests
For writing unit tests we will use the Jasmine framework.
1.
Initialize NodeJS project with
`npm init`
and install jasmine:
```
npm init
npm install --save-dev jasmine
```
2.
Unit tests are located in
`*.spec.js`
files. Create spec file with unit tests for
`sum.js`
, in this tutorial we will test the
`sum`
function only:
js/sum.spec.js
```
describe('Sample project', () => {
it('sum should return 3', () => {
const result = sum(1, 2);
expect(result).toBe(3);
});
it('sum should return 0', () => {
const result = sum(1, -1);
expect(result).toBe(0);
});
});
```
3.
Install test runner named Karma with Chrome launcher and Jasmin plugin:
```
npm install --save-dev karma karma-jasmine karma-chrome-launcher
```
4.
Create karma configuration file:
karma.conf.js
```
module.exports = config => {
config.set({
basePath: './js',
frameworks: ['jasmine'],
files: [
'**/*.js'
],
exclude: [
'main.js'
],
preprocessors: {},
reporters: ['progress'],
port: 9876,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
concurrency: Infinity
});
};
```
5.
Add test command into
`package.json`
file:
```
"scripts": {
"test": "karma start karma.conf.js"
}
```
6.
Run tests:
```
npm run test
```
\ No newline at end of file