오늘은 테스트주도개발(TDD)를 공부하고 테스트주도적인 방법을 통한 코딩과 Test Framework라는 조금 특별한 프로그램에서 제공되는 도구들인 mocha, chai의 사용을 페어와 함께 실습했다.
TDD(Test-driven Development)는 코드를 작성하기 전에 테스트를 쓰는 방법으로, 개발자 자신이 바람직하다고 생각하는 코드의 결과를 미리 정의하고, 이것을 바탕으로 코드를 작성하는 방법이다.
내가 지금까지 풀었던 코플릿(문제)들도 이런 방법을 통해 내가 테스트 버튼을 누르면 문제를 푸는 조건들을 달성했는지 보여주고 있었던 것을 보면 예외적인 조건이나 내가 원하는 코드의 결과를 빠르고 정확하게 테스트하기 위해서는 정말 좋은 방법이라고 생각된다.
이번 페어는 코플릿 문제를 푸는것이 아닌 콘솔창에서 문제의 조건을 통과해야 다음 단계로 넘어갈 수 있는 방식이었다.
detectNetwork 파일에서 문제에서 원하는 조건에 맞도록 함수를 작성하고 조건들을 테스트해서 통과해야 다음단계로 넘어갈 수 있었다.
콘솔에서 하나하나 조건을 모두 찍어봐야 한다....
넘어가고 나면 조건이 더 많아져서 나오는데 페어와 함께 기존에 썼던 함수를 수정하기도 하고 새로운 함수를 추가하기도 하면서 조건을 맞춰나가는 과정이었다.
이 조건들을 테스트 할 때, 너무 조건이 많아서 반복문을 통해 함수를 실행하고자 했지만 코드를 잘못적었는지 제대로 실행되지 않아서 결국 하나하나 테스트했다..
대망의 세번째 단계는 mocha라는 Test Framework를 사용해서 우리가 조건을 만들어 봤다.
사실 오늘 일정은 2번째 단계까지만 하는 일정이었는데 페어와 합이 잘 맞아서 그런지 3번째 단계까지 마칠 수 있었다.
그래서 페어와 논의해서 내일은 각자 부족한 부분을 공부하기로 했다. 나는 아직 알고리즘 뒤쪽문제를 못풀어서 알고리즘을 더 공부하고 풀어볼 예정이다.