librerie asserzione sono strumenti per verificare che le cose siano corrette.
Questo rende molto più facile testare il codice, quindi non devi fare migliaia di dichiarazioni if
.
Esempio (utilizzando should.js e Node.js affermare modulo):
var output = mycode.doSomething();
output.should.equal('bacon'); //should.js
assert.eq(output, 'bacon'); //node.js assert
// The alternative being:
var output = mycode.doSomething();
if (output !== 'bacon') {
throw new Error('expected output to be "bacon", got '+output);
}
framework di test vengono utilizzati per organizzare ed eseguire prove.
Moka e Jasmine sono due scelte popolari (e sono in realtà un po 'simili).
Esempio (usando moka con should.js qui):
describe('mycode.doSomething', function() {
it ('should work', function() {
var output = mycode.doSomething();
output.should.equal('bacon');
});
it ('should fail on an input', function() {
var output = mycode.doSomething('a input');
output.should.be.an.Error;
});
});
Testing ambienti sono i luoghi in cui si esegue il test.
Karma è un caso marginale, nel senso che è una specie di strumento unico, non molto simile. Karma funziona eseguendo i test delle unità all'interno dei browser (per impostazione predefinita su PhantomJS, un browser WebKit headless), per consentire di testare il codice JavaScript basato su browser.
I framework come Mocha e Jasmine funzionano sia nel browser che in Node.js e in genere sono impostati su Nodo.
fonte
2014-09-05 03:30:15
Per rendere le cose ancora più complesse, ci sono anche [client Selenium Webdriver Node.JS] (http://www.slant.co/topics/2814/viewpoints/2/~what-are-the-best-node -js-selenium-webdriver-client-libraries-bindings), alcuni dei quali consentono di eseguire test Jasmine, Cucumber o Moca + Chai al loro interno (ad esempio WebdriverIO). –
La domanda non è ben scritta dato che l'OP fornisce esempi delle 3 cose che vogliono chiarire, e hanno anche dato un link per maggiori informazioni. È quasi la sua risposta al titolo della domanda. Tuttavia, suppongo che, date le informazioni fornite, l'OP desideri una ripartizione più dettagliata. Ma sarebbe utile sapere quali parti non sono ancora chiare per l'OP. – redfox05