profile
세상에 도움이 되고, 동료에게 도움이 되고, 나에게 도움이 되는 코드를 만들고 싶습니다.
post-thumbnail

TDD 004: 유닛테스트 작성하기 - API

API 를 테스트하는 유닛테스트를 작성해보자. 소스코드 링크 프로젝트 설정 (추가) REST API 를 작성하면서 사용하는 라이브러리, 테스트 코드에 사용하는 라이브러리를 추가한다. express 는 Http(또는 Https)서버를 실행할 수 있는 가장 인기있고, 가장 가벼운 nodejs 라이브러리 중 하나이다. joi 는 object validation 라이브러리이다. chai-http 는 Http 관련 기능을 chai 이용해서 assert 할 수 있도록 만들어주는 라이브러리이다. REST API 생성 두 개의 파일을 생성한다. src/rest-api.js src/utils/task-schema.js 테스트 코드 작성 시작 HTTP Method

2022년 1월 15일
·
0개의 댓글
·
post-thumbnail

TDD 003: 유닛테스트 작성하기 - 클래스

이번에는 클래스에 대한 유닛테스트를 작성해보자. 소스코드 링크 프로젝트 설정 (추가) 클래스에서 사용하는 라이브러리, 테스트 중에 사용하는 라이브러리를 설치한다. axios 는 User 클래스에서 사용하는 네트워크 통신 라이브러리이다. sinon 은 유닛테스트를 용이하게 하기 위해서 가짜 객체를 만들 때 사용하는 라이브러리이다. 클래스 생성 src/user.js 파일을 생성하고 다음과 같은 내용으로 User 클래스를 작성한다. 테스트 코드 작성 시작 getUserId() 메소드 테스트 코드 User.getUserId() 함수는 'https://api.github.com/users/${this.userName}' URL 로 요청을 보내서 해당

2022년 1월 15일
·
0개의 댓글
·

TDD 002: 용어 정리

테스트 슈트, 테스트 케이스 가장 작은 테스트의 단위는 테스트 케이스(Test Case) 이고 여러 개의 테스트 케이스가 모여서 하나의 테스트 슈트(Test Suite)를 이룬다. 참조 링크: https://www.testim.io/blog/test-suites-test-cases-hierarchy-explained/ 위에서 사용하는 mocha 라이브러리에서는 it 가 하나의 테스트 케이스이다. 그리고 describe 가 하나의 테스트 슈트이다. 그리고 테스트 슈트를 중첩해서 사용하는 것도 가능하다. 테스트 코드를 작성할 때 기본적으로는 테스트 케이스마다 '하나의 동작' 또는 '하나의 기능'만 테스트한다는 원칙을 지키는 것이 좋다. 각각의 테스트 케이스를 최대한 단순하게 유지할 수 있다. 테스트 케이스 안에

2022년 1월 15일
·
0개의 댓글
·
post-thumbnail

TDD 001: 유닛테스트 작성하기 - 함수

자바스크립트에서 테스트 코드 작성하는 방법을 알아보자. 소스코드 링크 기본적인 프로젝트 설정 명령어를 이용해서 nodejs 프로젝트를 초기화한하고 .gitignore 파일을 생성해서 node_modules/ 를 추가한다. 이후에 테스트 라이브러리 mocha assertion 라이브러리 chai 두 가지를 development dependency로 설치한다. 이제 package.json 파일에 다음과 같은 영역이 생겨난다. 여기에 테스트를 위한 스크립트 test 를 추가한다. 워크스페이스 루트에 src/, test/ 두 개의 디렉토리를 생성한다. src/ 디렉토리에 app.js 파일을 만들고 test/ 디렉토리에 app.js 파일을 만든다. 테스트 코드를 작성하는

2022년 1월 15일
·
0개의 댓글
·