QUnit
![]() | |
Тип | Фреймворк для автоматизованого тестування |
---|---|
Автор | John Resig та jQuery |
Перший випуск | 2009 |
Стабільний випуск | 1.20.0 (27 жовтня, 2015 ) |
Операційна система | кросплатформова програма |
Мова програмування | JavaScript |
Ліцензія | MIT |
Репозиторій | github.com/qunitjs/qunit |
Вебсайт | qunitjs.com |
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 використовує метод припущень, щоб проводити юніт-тести:[1]
assert.ok(boolean, string)
— визначає, чи приведена змінна приводиться до логічного типу даних;assert.equal(value1, value2, message)
— порівнює дві змінних, використовуючи оператор подвійної рівності;assert.deepEqual(value1, value2, message)
— порівнює дві змінних, виходячи з їх змісту, а не тільки за їх ідентичністю;assert.strictEqual(value1, value2, message)
— проводить суворе порівняння двох змінних за допомогою потрійної рівності (тобто порівнюючи не тільки значення, а й тип змінних).
Нижче наведено базовий приклад тестування:[2]
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'); // не проходить
});
- ↑ Assert methods. QUnit API Documentation. Архів оригіналу за 28 травня 2014. Процитовано 2 червня 2014.
- ↑ Cookbook: Example test. QUnit API Documentation. Архів оригіналу за 5 квітня 2016. Процитовано 2 червня 2014.
- qunitjs.com — офіційний сайт [Архівовано 1 квітня 2016 у Wayback Machine.]
- Репозиторій QUnit на GitHub [Архівовано 23 березня 2016 у Wayback Machine.]