>  기사  >  웹 프론트엔드  >  Javascript 단위 테스트 프레임워크 QUnitjs_javascript 기술에 대한 자세한 소개

Javascript 단위 테스트 프레임워크 QUnitjs_javascript 기술에 대한 자세한 소개

WBOY
WBOY원래의
2016-05-16 16:49:151359검색

1. QUnit이란

QUnit(http://qunitjs.com/)은 코드 디버깅에 도움이 될 수 있는 매우 강력한 자바스크립트 단위 테스트 프레임워크입니다. 이는 jQuery 팀 구성원이 작성했으며 jQuery의 공식 테스트 제품군입니다. 그러나 QUnit은 일반적으로 일반 자바스크립트 코드를 테스트하는 데 충분하며, Rhino나 V8과 같은 일부 자바스크립트 엔진을 통해 서버측 JavaScript를 테스트하는 것도 가능할 수도 있습니다.
'단위 테스트' 개념이 낯설더라도 걱정하지 마세요. 이해하기 어렵지 않습니다:

코드 복사코드는 다음과 같습니다.

컴퓨터 프로그래밍에서는 단위 테스트(또한 모듈 테스팅이라고도 함)은 프로그램 모듈(소프트웨어 설계의 가장 작은 단위)의 정확성을 확인하는 테스트 작업입니다. 프로그램 단위는 애플리케이션에서 테스트할 수 있는 가장 작은 구성 요소입니다. 절차적 프로그래밍에서 단위는 단일 프로그램, 함수, 프로세스 등입니다. 객체 지향 프로그래밍의 경우 가장 작은 단위는 기본 클래스(슈퍼클래스), 추상 클래스 또는 파생 클래스(서브클래스)의 메서드를 포함하는 메서드입니다. — Wikipedia에서 인용했습니다.


간단히 말하면, 코드의 모든 기능에 대한 테스트를 작성하고 모든 테스트가 통과하면 코드에 결함이 없는지 확인할 수 있습니다(일반적으로 테스트가 얼마나 좋은지에 따라 달라집니다). ) 철저하게 의존합니다).


2. 코드를 테스트해야 하는 이유

이전에 단위 테스트를 작성해 본 적이 없다면 웹사이트에 코드를 직접 업로드하고 문제가 있는지 잠시 클릭한 후 발견한 문제를 해결해 보세요. 이 방법을 사용하면 문제가 많습니다. 방법으로.
우선 지루하네요. 클릭하는 것은 실제로 쉬운 일이 아닙니다. 모든 것이 클릭되었는지 확인해야 하고 한두 번 놓칠 가능성이 높기 때문입니다.

둘째, 테스트를 위해 수행한 모든 작업은 재사용이 불가능하므로 회귀가 어렵습니다. 회귀란 무엇입니까? 코드를 작성하고, 테스트하고, 발견한 결함을 수정한 다음 릴리스한다고 상상해 보세요. 이 시점에서 사용자는 새로운 버그에 대한 피드백을 보내고 몇 가지 새로운 기능이 필요합니다. 코드로 돌아가서 이러한 새로운 결함을 수정하고 새로운 기능을 추가합니다. 다음에 일어날 수 있는 일은 일부 오래된 결함이 다시 나타나는 것입니다. 이것을 "회귀"라고 합니다. 이제 다시 클릭해야 하며, 오래된 버그를 아직 발견하지 못할 가능성이 높습니다. 발견하더라도 문제가 회귀로 인해 발생했다는 사실을 알아내기까지는 시간이 좀 걸릴 것입니다. 단위 테스트를 사용하면 결함을 찾기 위한 테스트를 작성하고, 코드가 수정되면 테스트를 다시 필터링합니다. 회귀가 발생하면 일부 테스트는 실패하게 되며 이를 쉽게 식별하고 코드의 어느 부분에 오류가 포함되어 있는지 알 수 있습니다. 이제 방금 수정한 내용을 알았으므로 쉽게 해결할 수 있습니다.

특히 웹 개발에서 단위 테스트의 또 다른 장점은 브라우저 간 호환성 테스트를 쉽게 한다는 것입니다. 다른 브라우저에서 테스트 사례를 실행하면 됩니다. 한 브라우저에 문제가 있으면 문제를 수정하고 테스트 사례를 다시 실행하여 다른 브라우저에서 회귀가 발생하지 않는지 확인하세요. 모든 대상 브라우저가 이를 지원한다고 가정해 보겠습니다.

John Resig의 프로젝트인 TestSwarm(http://testswarm.com/)을 언급하고 싶습니다. 배포를 통해 Javascript 단위 테스트를 다음 단계로 끌어올렸습니다. 많은 테스트 사례가 있는 웹사이트이며 누구나 거기에 가서 일부 테스트 사례를 실행할 수 있으며 결과는 서버로 다시 반환됩니다. 이러한 방식으로 코드는 다양한 브라우저와 플랫폼에서도 매우 빠르게 테스트될 수 있습니다.

3. QUnit으로 단위 테스트를 작성하는 방법

그렇다면 QUnit으로 단위 테스트를 올바르게 작성하려면 어떻게 해야 할까요? 먼저 테스트 환경을 설정해야 합니다.

코드 복사 코드는 다음과 같습니다




    QUnit 테스트 스위트
   
   
   
    < ;script type="text/javascript" src="myTests.js">


   

QUnit 테스트 스위트


   


   

   


   




    정확히 말하면 了一个被托管的QUnit框架版本.
    将要被测试的代码已被添加到 myProject.js 中, 而且你的测试应该插入到 myTest.js 입니다.时间了。
    单元测试的基stone是断言:

    断言是一个命题, 预测你的代码的返回结果.

    运行断言,你应该把它们放入测试案例:

    复主代码 代码如下:
    // 이 함수를 테스트해 보겠습니다
    function isEven( val) {
        반환 값 % 2 === 0;
    }
    test('isEven()', function() {

        ok(isEven(0), '0은 짝수입니다');
        ok(isEven(2), 'So is two') ;
        ok(isEven(-4), '그래서 음수 4입니다');
        ok(!isEven(1), '1은 짝수가 아닙니다');
        ok(!isEven(- 7), '둘 다 음수 7이 아닙니다');
    })

    저희가 정한 것은 isEven입니다.会返回错误答案。
    我们首先调用 test(),它构建了一个测试案例;第一个参数是一个将被显示在结果中的字符串,第二个参数是包括我们断主主的一个回调函数。
    저희는 5个断言,所写了5个是布尔정말 그렇습니다.要得到的,只要你运行测试:

    Javascript 단위 테스트 프레임워크 QUnitjs_javascript 기술에 대한 자세한 소개
    4、深入school习参考
    以上只简单的介绍了 qunit.js ,其断言方法还有很多,具体可参考 api 文档:

    http://api.qunitjs.com/

    单元测试是个你发布你的代码前测试你的代码的不常好的舌舌。如果你以前没有写过任何的单元测试,现单是时候开始了!

    성명:
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.