파트 1 - 2) 코드 품질 - 5) 테스트 자동화와 Mocha
테스트 자동화와 Mocha 링크 : https://ko.javascript.info/testing-mocha
테스팅 자동화는 테스트 코드가 실제 동작에 관여하는 코드와 별개로 작성되었을 때 가능하다.
테스트 코드를 이용하면 함수를 다양한 조건에서 실행해 볼 수 있는데, 이 때 실행결과와 기대결과를 비교할 수 있다.
테스트 방법에는 여러 방법이 있지만 여기서는 Behavior Driven Development(BDD, 행위주도 개발)을 다룬다.
거듭제곱 함수와 명세서
테스트는 코드의 구현과정에 초점을 둔다. 따라서 거듭제곱 연산자인 ** 연산자가 있지만 거듭제곱을 직접 구현해본다.
이때 만들어진 산출물을 명세서 또는 spec 이라고 부른다.
describe("pow", function() {
it("주어진 숫자의 n 제곱", function() {
assert.equal(pow(2, 3), 8);
});
});
스펙은 세가지 주요 구성 요소로 이루어진다.
1) describe ("title", function() {...})
구현하고자 하는 기능에 대한 설명이 들어간다. it 블록을 한데 모아주기도 한다.
2) it("유스케이스 설명", function() {...})
첫번째 인수에는 특정 유스케이스 테스트 함수가 들어간다.
두번째 인수에는 유스케이스 테스트 함수가 들어간다.
3) assert.equal (value1, value2)
'assert.비교함수'는 value1이 제대로 동작하여 value2를 결과로 갖는지 비교하는 역할을 한다.
개발순서
- 명세서 초안 작성 (기본적인 테스트 포함)
- 명세서 초안을 기반으로 코드 작성.
- 코드 작동을 확인하기 위해 'Mocha'라는 테스트 프레임워크로 명세서 실행. 코드에 문제가 있으면 에러가 추력된다. 에러가 출력되지 않을 때까지코드를 수정한다.
- 모든 테스트를 통과하는 코드 초안 완성.
- 명세서에 앞에서는 고려하지 않았던 유스케이스들 추가. 5번을 수행하면 '테스트 실패' 가 발생하게 된다.
- 3번으로 돌아가 테스트를 통과할 때까지 코드 수정.
위 과정 중 3~6단계를 반복한다.
스펙 실행하기
before / after 는 테스트 실행 전/후에 실행되고 beforeEach / afterEach 는 각 it 전/후에 실행되어 단일 테스트에 쓰인다.
이 네가지는 주로 값을 초기화 할 때 쓰인다.
숫자를 테스트 할 때는 음수인지, 정수가 아닌지, NaN인지도 테스트 해야한다.
Author And Source
이 문제에 관하여(파트 1 - 2) 코드 품질 - 5) 테스트 자동화와 Mocha), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hey880/파트-1-2-코드-품질-5-테스트-자동화와-Mocha저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)