오늘은 어제 배웠던 Scope와 Closure을 다시 되짚는 시간과 테스트 주도 개발의 TestBuilder라는 과제를 이행하였다.
Scope와 Closure은 뭔가 이해를 했긴 했는데 100퍼 센트 누군가에게 설명해주기에는 아직 좀 어려운 것 같다. 남는 시간을 더 할애해서 이해해보아야겠다.
오늘 대부분 진행했던 것은 테스트 없이 바닥부터 함수를 작성하는 TestBuilder이다. 문제를 주고 우리가 요구사항에 맞게 코딩을 진행하는 것이다. 이전에 진행했던 것보다 그리 큰 난이도는 있지 않아 보였으나 막상 작성하려니 코딩의 길이가 계속 길어져만 갔다.
머릿속에 For 구문을 써야 한다는 목소리에 외치고 있었으나 적용하려니 머리가 아파왔다. 그리고 현실타협을 하면서 엄청난 양의 코딩을 해야 했다. 곰곰이 어떻게 했어야 깔끔하고 간결한 코딩이 되었을까 고민해본다.
TestBuiler를 진행하면서 테스트 도구인 'mocha(https://mochajs.org/)'와 'chai(https://www.chaijs.com/)'을 알게 되었다. 비록 시간이 좀 더 걸린다고 볼 수는 있겠지만 테스트 코드의 중요성을 보자면
* 테스트 코드의 중요성
1. 반복적인 행위를 줄여준다.
2. 빠른 오류 확인 및 수정가능.
3. 확실한 안정감.
이렇게 3가지 정도 가볍게 오늘 테스트 코드를 접했던 나의 생각으로만으로 테스트 코드의 중요성은 충분한 것 같다.
mocha에서 사용하는 describe와 it의 용도와 chai에서assert, expect의 용도를 알 수 있었다.
Mocha 테스트 함수 실행 시 오류 발생에 유무에 따른 결과 값을 오류 발생 시 실패 오류 발생하지 않을 시 실패하지 않는 기능을 하는 도구이고 Chai는 테스트에 필요한 헬퍼 함수들이 담긴 라이브러리로 assert 함수를 제공한다고 한다.
let assert = chai.assert;
let should = chai.should();
let expect = chai.expect;
'개념정리' 카테고리의 다른 글
8/7[TIL]매개변수 (0) | 2020.08.07 |
---|---|
8/7[TIL]객체 지향 (0) | 2020.08.07 |
8/5일 [TIL] (0) | 2020.08.05 |
8/3~8/4일 (1) | 2020.08.04 |
첫 주차 시작! (7/27 ~ 7/31) (0) | 2020.08.03 |