React
TDD
- Test-driven-Development 소프트웨어 개발 방법론이다.
- 작은 단위의 테스트 케이스를 작성하고, 이를 통과하는 코드를 작성하는 과정을 반복하는 것을 말한다.
- Write Failing Test: 실행하는 테스트 코드를 먼저 작성한다.
- Make Test Pass: 테스트 코드를 성공시키기 위한 실제 코드를 작성한다.
- Refactor: 중복 코드 제거, 일반화 등의 리팩토링을 수행한다.
- 1의 과정을 마치기 전에 2의 작업을 시작하지 않도록 주의해야 하며, 2를 진행할 때에는, 1의 테스트를 통과할 정도의 최소 코드만 작성해야 한다.
TDD를 사용하는 이유
- 코드를 작성하기에 앞서 테스트 코드를 먼저 작성해야 하기 때문에 시간이 오래 걸리는 것처럼 느껴지지만, 오히려 예상하지 못했던 버그를 줄여 소요 시간을 줄일 수 있기 때문이다.
- 개발 과정에서 코드는 다양한 조건에 의해 계속해서 삽입, 수정, 삭제된다.
- 이 과정에서 코드가 중복되거나 불필요한 코드가 남게 됩니다. 그리고 그로 인해 여러 가지 버그가 발생하거나, 디버깅 또한 어려워지는 현상이 발생하기도 한다.
- 유지보수하기 위해서는 처음 개발할 때 아꼈던 리소스보다 더 많은 리소스를 투입해야 하는 경우가 발생한다.
테스트 코드를 작성하는 방법
- 더 나은 테스트를 작성하기 위해 많은 테스트 오픈소스 프레임워크를 제작했다.
- 주로 mocha라는 테스트 프레임워크와 chai라는 라이브러리를 사용한다.