ПредишенСледващото

  • за обработка на събитието на страницата;
  • съдържание на HTML форма;
  • работа с AJAX.

Използването заедно QUnit и Sinon.JS, можете да напишете единица тестове за всички тези приложения.

за бърз старт

Предполага се, че тест API се съхранява в отделен файл chat.js, единица тестване код ще напиша отделна chat.tests.js файл и да стартирате тестовете ще създаде tests.html страница, която предписва връзки, за да се тества API, за изпитване, както и необходимите библиотека:

За да изпълните необходимите изпитвания, за да отворите страницата в браузъра tests.html, тук ние виждаме резултата:

Опцията "Проверка за глобални" проверки за глобална променлива в API и тестове, което е много полезно за предотвратяване на конфликти.

Ако опцията "No пробвам улов", изпитванията ще се извършва преди първото по изключение, няма да позволи отървете от целия набор от тестове, но ще даде достъп до информация изключение на ниско ниво, което е полезно за отстраняване на грешки в по-стари браузъри.

За да проверите твърденията в единица тестове QUnit предоставя няколко функции. Имайте предвид, че за разлика от другите рамки xUnit-текуща стойност е посочена като първи аргумент, както се очакваше - втори (с изключение на функцията за добре (), който проверява първият аргумент). Последният аргумент може да бъде низ с обяснение, че е проверено в изявлението.

  • ОК () - чака истината първи аргумент
  • равно () / notEqual () - оператор се използва за сравнение ==
  • deepEqual () / notDeepEqual () - оператор се използва за сравняване ===
  • strictEqual () / notStrictEqual () - използва се за сравнение оператор (===
  • хвърля () - очаква да бъде изключение е хвърлен.

Един прост пример

За създаване на звено за анализ QUnit предвижда тест (функция), първият аргумент е низ с името на теста, а вторият - на функцията, съдържащ правила за изпитване. Този пример потвърждава, че призива на метода на API за изпитване обект връща очакваната структура.

ПРИМЕР по-трудно, използвайки набор

Специално Разделение # qunit-тяло полезно за тестване на генерираните графично оформление, както QUnit го почиства след всеки тест, за да се осигури валентност.

модули за конфигуриране

QUnit да комбинирате тестове в модули, е удобно да се групират сходни функционални тестове. Модулът може да има променлива видими при всяко изпитване и настройка () и демонтиране (), които са извършени преди и след всеки тест, съответно, и който може да се инициализира и почистване на общите данни. Модулът започва с функция модул (), който може да отиде, след като броят на п-Noe на функционални тестове (), всички н тест ще принадлежи на този модул. Модулът ще приключи, когато следващия модул започва.

В теста, използвайки инициализира в настройката () променливи:

Какво дава Sinon.JS

Най-простият обвивка извършва проследяване предизвикателство. Оригиналът обект не се променя, и се предаде контролира до него. Той е удобен да се провери какво функция какви параметри се нарича. Някои от членовете на интерфейса:

  • calledOnce () - връща истина, ако функцията се нарича само веднъж
  • callCount - брояч повикване функция
  • getCall (м) .args [п] - N-NY връща аргумент т-Nogo повикването
  • getCall (м) .calledWith (аргументи) - удостоверява, че м-Ню Йорк се е наричал с посочените аргументи.

Разширява шпионин интерфейс с оригиналния обект се заменя и не се обади. Възможно е да се коригира желания обект емулира поведението, когато бъде призован, например стойността на замяна.

Пример на шпионина и коляно:

емулация на сървъра

Sinon.JS може да симулира отговор от страна на сървъра, когато Аякс искания:

Moki - по-нататъшно развитие на идеята за капачки, като дават възможност за фина настройка на очакваното поведение на обекта, и след това да се провери дали работата с подражава обектът преминава правилно.

Интеграция с мравка

Изпълнете единица тестове по време на автоматизирана изграждане (и да се спре на събранието в случай на падането на теста) е възможно чрез PhantomJS (Това работи в WebKit конзола) и специален бегач. След инсталацията, създаване на среда променлива PhantomJS PHANTOMJS_HOME, сочейки към PhantomJS папката.

По-долу е пример за мравка-проект, който изпълнява QUnit тестове по време на монтажа:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!