Testablility
테스트 용이성(Testability)는 소프트웨어에 대한 테스트가 얼마나 쉬운지를 말하는 용어입니다. 테스트 용이성이 높을 수록 소프트웨어의 설계가 유연하고 컴포넌트 간 결합도가 낮기 때문에, 좋은 설계라고 할 수 있습니다.
이번 프로젝트에서는 Node.js 기반 소프트웨어를 테스트하는 방법과, Testability를 고려한 설계 방법, 지속적인 통합(Continuous Integration, CI)를 다룹니다.
-
- assert.ok(true) true로 들어오면 true이다. => !! 뒤에 값을 붙여서 확인가능하다.
- assert.equal(a, b) a == b가 같은지 확인
- assert.strictEqual(a, b) a === b 가 같은지 확인
- assert.deepEqual([1,2,3], [1,2,3]) 배열, 객체까지도 같은지를 확인한다.
- assert.throws(() => {throw new Error() } ) 나의 의도대로 에러가 발생하는지 테스트 할 때 사용
- ex) assert.throws(() => {throw new MyError()}, MyError)
Testability를 높이기 위한 의존성 주입과 Sinon