// test를 원하는 폴더에서 아래와 같이 terminal
$ npm install mocha
$ mkdir test
$ code test/test.js // vscode 실행해주는 것
in my editor:
// step4 코드들을 테스트한다고 가정했을 때의 예시
const assert = require('assert');
const step4 = require('../step4.js');
const customMath = require('../customMath.js')
describe('step4.adders', () => {
describe('half Adder', () => {
it('should add bit and return [carry, sum]', () => {
assert.deepEqual(step4.halfAdder(0, 0), [false, false]);
assert.deepEqual(step4.halfAdder(0, 1), [false, true]);
assert.deepEqual(step4.halfAdder(1, 0), [false, true]);
assert.deepEqual(step4.halfAdder(1, 1), [true, false]);
});
});
})
// assert.equal로는 array의 주소가 달라 틀리다고 나오므로 deepEqual을 써줘야한다.
describe('customMath', () => {
describe('pow', () => {
it('should equal to Math.pow', () => {
assert.equal(customMath.pow(2, 3), 8);
assert.equal(customMath.pow(4, 3), 64);
})
})
})
back in terminal:
$ ./node_modules/mocha/bin/mocha
step4.adders
half Adder
✓ should add bit and return [carry, sum]
customMath
pow
✓ should equal to Math.pow
2 passing (9ms)
set up a test script in package.json:
"scripts": {
"test": "mocha"
}
Then run tests with:
$ npm test
아니면 json파일 수정은 생략하고 아래와 같이 실행해주면 된다.
$ mocha test/test.js
npm i express
를 실행하게 되면 package.json 파일에는 “^4.16.3”(Caret Ranges)
로 버전 범위가 추가된다. 이 package.json를 기반으로 npm i을 실행하면 4.16.3
버전이 설치된다. 그런데, 새로 express의 마이너 패치가 이루어진 버전이 퍼블리시 된다면 동일한 package.json파일로 설치해도 4.16.4
, 이나 4.17.1
등 다른 버전이 설치될 수 있는 것이다. 그리고 이런 간혹 업데이트된 버전은 오류를 발생시키는 경우가 있다.$cd /path/to/package
$npm init