티스토리 뷰

정리하기/테스트프레임워크

mocha

내가송 2017. 6. 23. 18:57
반응형

모카 js 사이트에 들어가보면 모카에 대해 다음과 같이 정리되어 있다. 


Mocha is a feature-rich JavaScript test framework running on Node.js and in the browser, making asynchronous testing simple and fun.


모카는 다양한 기능을 제공하는 node 기반의 테스트 프레임워크다. 


node 기반이기 때문에 npm으로 설치가 가능하다.


npm install mocha


다음 코드는 mocha 사이트에 있는 예제 코드다. 

var assert = require('assert');


describe('Array', function() {

describe('#indexOf()', function() {

it('should return -1 when the value is not present', function() {

assert.equal(-1, [1, 2, 3].indexOf(4));

})

})

})


예제 코드를 보며 많은 의문점이 든다.

describe, it 메소드는 무엇인가? 


위의 예제 코드는 BDD 스타일의 테스트 코드라고 한다. 

BDD 스타일이란 무엇인가?

BDD는 Behaviour-Driven Development의 약자로 

비즈니스 요구사항을 기반으로 테스트 케이스를 개발하는 것을 의미한다. 


테스트 결과 내용이 비개발자가 보아도 이해할 수 있게 되어 있는 코드가 BDD인 것이다.


실제로 위의 코드의 실행 결과는 위와 같다.


그렇다면 describe와 it 메소드에 대해 알아보자. 

describe는 test suite를 위한 메소드라고 한다. 


그렇다면 test suite는 무엇인가? (하나를 알면 또 다른 하나를 모르고...ㅠㅠ)

test suite는 공통된 기능을 테스트하기 위해 묶은 것을 의미한다. 


예를 들어 하나의 커뮤니티 사이트를 개발하는데 테스트 코드를 짠다고 가정해보자.

테스트를 하는 부분은 다양할 것이다. 

회원 가입 기능, 글쓰기 기능 등등..


하나의 기능을 테스트 하기 위해 여러 가지의 테스트문이 발생될 수 있다. 


회원 가입 기능 테스트를 위해,

- 이름이 공백인 경우에 대한 테스트

- 비밀번호가 안내한 규칙에 적합하지 않은 경우에 대한 테스트 ..


위의 예시에서 '회원 가입 기능 테스트'가 test suite이고 

이름 공백, 비밀번호 테스트가 하나의 unit test들인 것이다. 


다시 mocha로 넘어와서 정리해보면,

describe는 test suite를 의미하는 메소드다.

it는 기본이 되는 unit test를 의미하는 메소드다. 


반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함