QUnit — це фреймворк для тестування коду мовою JavaScript. Активно використовується компанією jQuery Project для тестування jQuery, jQuery UI та jQuery Mobile, але також підходить для тестування будь-якого коду, написаного мовою JavaScript. Підтримує серверні (наприклад, node.js), а також клієнтські оточення.

Підхід до роботи в QUnit слідує специфікації тестування в CommonJS, який в свою чергу оновлюється під впливом QUnit.

Історія QUnit було створено Джоном Резіґом (John Resig) як частину jQuery. У 2008-му його було виділено в окремий проект, який назвали «QUnit». Це дозволило будь-яким програмістам писати свої модулі для модульного тестування. Якщо перша версія QUnit використовувала jQuery для взаємодії з DOM, то нова версія, переписана у 2009 році, зробила QUnit повністю незалежним проектом.

Приклади QUnit.module(string) — визначає модуль, що групує один чи кілька тестів. QUnit.test(string, function) — визначає тест. QUnit використовує метод припущень, щоб проводити юніт-тести: assert.ok(boolean, string) — визначає, чи приведена змінна приводиться до логічного типу даних; assert.equal(value1, value2, message) — порівнює дві змінних, використовуючи оператор подвійної рівності; assert.deepEqual(value1, value2, message) — порівнює дві змінних, виходячи з їх змісту, а не тільки за їх ідентичністю; assert.strictEqual(value1, value2, message) — проводить суворе порівняння двох змінних за допомогою потрійної рівності (тобто порівнюючи не тільки значення, а й тип змінних). Нижче наведено базовий приклад тестування:QUnit.test('a basic test example', function (assert) { var obj = {};

assert.ok(true, 'Boolean true'); // проходить assert.ok(1, 'Number one'); // проходить assert.ok(false, 'Boolean false'); // не проходить

obj.start = 'Hello'; obj.end = 'Ciao'; assert.equal(obj.start, 'Hello', 'Opening greet'); // проходить assert.equal(obj.end, 'Goodbye', 'Closing greet'); // не проходить });

Примітки

Посилання qunitjs.com — офіційний сайт Репозиторій QUnit на GitHub