728x90
반응형
1. Test builder를 사용하는 이유
Testbuilder는 TDD(Test-driven Development) 방법론의 Tool이다.
TDD는 코드를 작성하기 전에 Test Case를 작성하는 방법으로, 다음과 같은 장단점이 있다.
장점.
코드를 작성하기 위한 방향, 코드의 구성에 대해 미리 기획과 고민이 완료되었다는 뜻이므로, 버그가 더 적은 코드를 짜게 된다.
이에 따라 프로그램이 장기적인 문제를 일으킬 확률도 줄어든다.
단점.
1. Proto type의 코드를 만들어 전반적으로 기획을 바꿔가며 유동적으로 대처하는 것이, 속도가 빠르다.
어떤 방법이 맞든지, 기초적인 Test Case는 짜야하고, 경우의 수를 따져봐야 하는 것은 기본이다.
이러한 맥락에서, Testbuilder tool(Test framework)들을 사용하여 효율적으로 기초 test를 해볼 수 있다.
2. Test builder 소개 - Mocha, Chai
2-1. Mocha
Mocha는 사용자가 입력하는 Case별로 함수의 예상 동작과 실제 동작을 비교하여, 작동 테스트를 해주는 framework이다.
자세한 사항은 공식사이트에 설명되어 있다. mochajs.org
예제. howMuch 라는 함추를 호출하여, 'banana'라는 input을 넣었을 때, '$5'가 나오는지 확인한다.
1
2
3
4
5
6
7
8
9
10
|
describe("price inspect", function() {
it("Check whether price of product is correct", function() {
if(howMuch("banana") !== "$5") {
throw new Error("Wrong case");
}
});
});
|
cs |
2-2. Chai
Chai는 여러 종류의 헬퍼 함수들을 제공하는 test builder이다. Mocha와 같이 두 값이 같은 값인지 비교하는 method 뿐만 아니라 여러가지 method들이 제공된다.
예제. Mocha에서 사용한 함수와 동일
1
2
3
4
5
6
7
8
|
describe("price inspect", function() {
let assert = chai.assert;
it("Check whether price of product is correct", function() {
assert.eqaul(howMuch("banana"), "$5");
}
});
|
cs |
728x90
반응형
'Programming-[Frontend] > Javascript' 카테고리의 다른 글
Javascript / DOM / 기초 / createElement, textContent, append, remove, querySelector (0) | 2020.08.11 |
---|---|
Javascript / 기초 / 자료형(Primitive type, Reference type) (0) | 2020.08.07 |
Javascript / Array / filter, map, reduce (0) | 2020.08.05 |
Javascript / 기초 / 객체지향 (Object-oriented) (0) | 2020.08.05 |
Javascript / 기초 / Scope, 선언키워드(var, let, const) (0) | 2020.08.05 |