qunit 소개
- 링크
- javascript 단위테스트 프레임워크 이다
- javascript 뿐만 아니라 jQuery, jQuery UI, jQuery Mobile 에서도 사용이 가능하다
- 장점:
- UI 제공
- report 제공
qunit 을 이용한 test
- 샘플을 통한 구조 이해
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>QUnit Example</title> <link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.5.0.css"> </head> <body> <div id="qunit"></div> <div id="qunit-fixture"></div> <script src="https://code.jquery.com/qunit/qunit-2.5.0.js"></script> <script src="https://cdn.jsdelivr.net/npm/qunit-reporter-junit@1.1.1/qunit-reporter-junit.min.js"></script> <script> <!-- TEST CASE --> QUnit.test( "hello test", function( assert ) { assert.ok( 1 == "1", "Passed!" ); }); <!-- TEST REPORT --> QUnit.jUnitReport = function(report) { if (typeof console !== 'undefined') { console.log(report.xml); } }; </script> </body> </html>
- 샘플 html 호출 결과
- 샘플 html 호출 결과
qunit 와 phantomjs 를 활용한 js test 구성하기
html 코드에 필요한 JS function test 만 넣어도 테스트에는 문제가 없지만 CI 서버에 연동하여 자동배포의 한 단계로 추가하고 싶다면 ... step.1 test 결과를 남기고 step.2 결과를 분석해야 한다
- pre-requisites:
# yum install fontconfig freetype freetype-devel fontconfig-devel libstdc++
- 필요한 패키지 다운로드 및 압축해제
$ wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2 $ bunzip2 phantomjs-2.1.1-linux-x86_64.tar.bz2 $ tar xvf phantomjs-2.1.1-linux-x86_64.tar
- 실행 명령어 샘플
# runner.js 다운로드 $ wget https://github.com/jonkemp/qunit-phantomjs-runner/blob/master/runner.js # test 실행 $ /{{phantomjs 압축 해제한 폴더}}/bin/phantomjs runner.js {{테스트 할 html 파일}}
실행 예제
$ /{{phantomjs 압축 해제한 폴더}}/bin/phantomjs runner.js QunitTest.html <?xml version="1.0" encoding="UTF-8"?> <testsuites name="file://{{QunitTest_PATH}}/QunitTest.html" tests="2" failures="0" errors="0" time="0.008"> <testsuite id="0" name="" hostname="localhost" tests="1" failures="0" errors="0" time="0.004" timestamp="2018-01-31T07:50:38Z"> <testcase name="hello test" time="0.002" timestamp="2018-01-31T07:50:38Z"> </testcase> </testsuite> </testsuites> Took 8ms to run 2 tests. 2 passed, 0 failed. $
- pre-requisites:
'개발 > jquery' 카테고리의 다른 글
Javascript 로 파일 다운로드 구현하기 (0) | 2018.01.10 |
---|---|
table rowspan 동적 적용 (1) | 2017.11.28 |