QUnit - QUnit
lançamento inicial | 8 de maio de 2008 |
---|---|
Versão estável | 2.15.0 / 12 de abril de 2021
|
Repositório | |
Escrito em | JavaScript |
Modelo | Estrutura de automação de teste |
Licença | MIT |
Local na rede Internet | qunitjs |
QUnit é uma estrutura de teste de unidade JavaScript . Originalmente desenvolvido para testar jQuery , jQuery UI e jQuery Mobile , é uma estrutura genérica para testar qualquer código JavaScript. Ele suporta ambientes do lado do cliente em navegadores da web e do lado do servidor (por exemplo, Node.js ).
Os métodos de asserção do QUnit seguem a especificação de teste de unidade CommonJS , que foi influenciada até certo ponto pelo QUnit.
História
QUnit foi originalmente desenvolvido por John Resig como parte do jQuery. Em 2008, ele foi extraído do código-fonte do teste de unidade jQuery para formar seu próprio projeto e ficou conhecido como "QUnit". Isso permitiu que outros começassem a usá-lo para escrever seus testes de unidade . Enquanto a versão inicial do QUnit usava jQuery para interação com o DOM , uma reescrita em 2009 tornou o QUnit completamente autônomo.
Uso e exemplos
-
QUnit.module(string)
- Define um módulo, um agrupamento de um ou mais testes. -
QUnit.test(string, function)
- Define um teste.
QUnit usa um conjunto de métodos de asserção para fornecer significado semântico em testes de unidade:
-
assert.ok(boolean, string)
- Afirma que o valor fornecido é convertido em verdadeiro booleano . -
assert.equal(value1, value2, message)
- Compara dois valores, usando o operador duplo igual . -
assert.deepEqual(value1, value2, message)
- Compara dois valores com base em seu conteúdo, não apenas em sua identidade. -
assert.strictEqual(value1, value2, message)
- Compara estritamente dois valores, usando o operador triplo igual .
Um exemplo básico seria o seguinte:
QUnit.test('a basic test example', function (assert) {
var obj = {};
assert.ok(true, 'Boolean true'); // passes
assert.ok(1, 'Number one'); // passes
assert.ok(false, 'Boolean false'); // fails
obj.start = 'Hello';
obj.end = 'Ciao';
assert.equal(obj.start, 'Hello', 'Opening greet'); // passes
assert.equal(obj.end, 'Goodbye', 'Closing greet'); // fails
});