QUnit

Матеріал з Вікіпедії — вільної енциклопедії.
Jump to navigation Jump to search
QUnit
Example for QUnit test.png
Тип Фреймворк для автоматизованого тестування
Автор(и) John Resig та jQuery
Перший випуск 2009
Стабільний випуск 1.20.0 (27 жовтня 2015; 972 дні тому)
Написано на 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. 

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