목록Test (6)
PracticeEveryday

tsconfilg.json { "compilerOptions": { "emitDecoratorMetadata": true, "experimentalDecorators": true, // TSC가 코드 실행 환경에서 이용할 수 있다고 가정하는 API //Function.prototype.bind, ES2015의 Object.assign, DOM의 document.querySelector 등 "lib": ["ES2020"], // TSC가 코드를 컴파일할 대상 모듈 시스템 "module": "commonjs", // 생성된 자바 스크립트 코드를 출력할 디렉터리 "outDir": "dist", "sourceMap": true, // 유효하지 않는 코드를 확인할 때 가능한 한 엄격하게 검사 // 이 옵션을 이용..

should.js - should.js는 node.js에서 사용할 수 있는 표현적이고 가독성 있으며 테스트 프레임워크에 의존적이지 않은 단언문 ( Assertion) 라이브러리입니다. - 객체의 행동을 enumerable( 열거할 수 있는 ) 않은 단일 getter를 통해 Object를 prototype 확장해 제공하고 있습니다. - 사실 should.js는 node.js에서 제공하는 Assert 모듈을 확장했기 때문에 assert 모듈과 동일합니다. - 즉 should.equal ( str, 'foo' )는 assert.equal ( str, 'foo' ) 와 동일하게 동작하고 should.AssertionError는 assert.AssertionError와 같습니다. 그래서 node.js의 asser..

서버 코드 예제 GET 메서드 API - 상태코드 200 리턴 - JSON 형태로 사용자 이름 전달 POST 메서드 API - 요청 시 body에 name을 전달 받음 - 상태코드 201 리턴 - JSON 형태로 body에 전달 받았던 이름 전달 // app.js import express from 'express'; const app = express(); app.use(express.urlencoded({ extended: true })); app.use(express.json()); app.get('/user', (req, res) => { res.status(200).json({ name: 'modolee' }); }); app.post('/user', (req, res) => { const { ..

Supertest - HTTP assertion( 주장, 행사 )을 쉽게 만들어주는 라이브러리 yarn add --dev supertest - 사용 방법 // app.js import express from 'express'; const app = express(); // 상세한 구현... export default app; import request from 'supertest'; import app from './app'; request(app) // 체이닝을 통해서 추가적으로 설정이 필요 ※ Method 및 Path 지정 - GET, POST, PUT, DELETE 등의 Method 지정 - Method와 함께 API Path를 문자열로 지정 request(app) .get('/user'); // ..

Jest 시작하기 1. Jest 설치 yarn add --dev jest 2. package.json에 Test Script 추가 { "scripts": { "test": "jest" } } 3. 바벨 사용 yarn add --dev babel-jest @babel/core @babel/preset-env 4. babel.config.js를 프로젝트 루프에 파일 생성 후 현재 버전 Node를 대상으로 하도록 Babel 구성하기 // babel.config.js module.exports = { presets: [ [ '@babel/preset-env', { targets: { node: 'current', }, }, ], ], }; 5. TypeScript 사용 + 바벨 사용 ( 위 ) yarn add ..

Test Driven Developement - 테스트 주도 개발은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 개발자는 먼저 요구 사항을 검증하는 자동화된 테스트 케이스를 작성한다. 그런 후에, 그 테스트 케이스를 통과하기 위한 최소한의 코드를 작성한다. ※ 장점. 1. 코드의 모듈화 - 코드를 작성할 때 코드가 방대해지지 않고 모듈화가 이루어진다. 따라서 리팩토링이 쉬워진다. 2. 디버깅 시간 단축 - 구현한 기능이 요구사항을 충족하는지, 버그에 대한 낭비 시간도 줄여준다! 단위 테스트 Unit Test - 개발자가 수행하고 자신이 개발한 코드 단위를 테스트합니다. 소스 코드의 개별 단위를 테스트하며 사용 할 준비가 되었는지 확인하는 테스트 방법 - 개발 라이프 사이클의 ..