Test - Gaia3D/mago3djs GitHub Wiki
mago3djs๋ Jasmine (mocha + chai)์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. Jasmine ์๋ฐ์คํฌ๋ฆฝํธ์ ํ ์คํธํ๊ธฐ ์ํ ํ ์คํธ ํ๋ ์์ํฌ์ ๋๋ค. Behavior-Driven Javascript ์ผ๋ก, ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ฝ๊ฒ ์์ฑํ ์ ์๊ฒ api ๊ฐ ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. Test Runner Karma์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
npm install mocha chai โg
npm install --save-dev mocha chai karma karma-browserify karma-chai karma-chrome-launcher karma-firefox-launcher karma-html-reporter karma-ie-launcher karma-mocha karma-mocha-reporter karma-phantomjs-launcher karma-spec-reporter
์ญ์ ๋ ๋งค์ฐ ๋นํจ์จ์ ์ด๊ณ ์ฃผ์์ ๊ท์ฐฎ์ ์์ ์ ๋๋ค. Jasmine์์๋ ์์ฃผ ํธ๋ฆฌํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค. it์ด๋ describe์์ x ๋ง ์ถ๊ฐํด์ฃผ๋ฉด ๋ฉ๋๋ค. (ex : xit, xdescribe)
Jasmine ์ผ๋ก ํ ์คํธ ์์ฑ ์, Spy ๋ก ์ฝ๊ฒ Mock ๊ฐ์ฒด๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ค์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค๊ธฐ์ ๋น์ฉ๊ณผ ์๊ฐ์ด ๋ง์ด ๋ค๊ฑฐ๋ ์์กด์ฑ์ด ๊ธธ๊ฒ ๊ฑธ์ณ์ ธ ์์ด ์ ๋๋ก ๊ตฌํํ๊ธฐ ์ด๋ ค์ธ ๊ฒฝ์ฐ, ๊ฐ์ง ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํฉ๋๋ค.
- ํ
์คํธ ์์ฑ์ ์ํ ํ๊ฒฝ ๊ตฌ์ถ์ด ์ด๋ ค์ด ๊ฒฝ์ฐ
- ํ๊ฒฝ ๊ตฌ์ถ์ ์ํ ์์ ์๊ฐ์ด ๋ง์ด ํ์ํ ๊ฒฝ์ฐ์ Mock ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ํน์ ๋ชจ๋์ ๊ฐ์กฐ ์์ง ์์์ ํ ์คํธ ํ๊ฒฝ์ ๊ตฌ์ถํ์ง ๋ชปํ ๋ ๋๋ ํ ๋ถ์์์ ํ์๋ ์ ์ฑ ์ด ํ์ํ ๊ฒฝ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
- ํ ์คํธ๊ฐ ํน์ ๊ฒฝ์ฐ๋ ์๊ฐ์ ์์กด์ ์ธ ๊ฒฝ์ฐ
- ํ ์คํธ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ ๊ฒฝ์ฐ
- ๊ฐ์ธ PC์ ์ฑ๋ฅ์ด๋ ์๋ฒ์ ์ฑ๋ฅ๋ฌธ์ ๋ก ์ค๋ ๊ฑธ๋ฆด์ ์๋ ๊ฒฝ์ฐ ์๊ฐ์ ๋จ์ถํ๊ธฐ ์ํด ์ฌ์ฉํฉ๋๋ค.