QUnit

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
QUnit
Example for QUnit test.png
Тип Фреймворк для автоматизованого тестування
Автор(и) John Resig та jQuery
Перший випуск 2009
Стабільний випуск 1.20.0 (27 жовтня 2015; 727 днів тому )
Написано на JavaScript
Ліцензія MIT
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'); // не проходить
});

Примітки[ред.ред. код]

  1. Assert methods. QUnit API Documentation. Процитовано 2014-06-02. 
  2. Cookbook: Example test. QUnit API Documentation. Процитовано 2014-06-02. 

Посилання[ред.ред. код]