Ответ 1
Библиотеки утверждений - это инструменты для проверки правильности действий.
Это значительно упрощает проверку вашего кода, поэтому вам не нужно делать тысячи операторов if
.
Пример (с использованием should.js и Node.js assert module):
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);
}
Структуры тестирования используются для организации и выполнения тестов.
Мокка и Жасмин - два популярных варианта (и они действительно похожи друг на друга).
Пример (с использованием mocha с here.js здесь):
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;
});
});
Среда тестирования - это те места, где вы запускаете свои тесты.
Карма - это бит-кейс, в том смысле, что это своего рода одноразовый инструмент, не многим это нравится. Карма работает, запуская свои модульные тесты внутри браузеров (по умолчанию для PhantomJS, браузера без браузера WebKit), чтобы вы могли проверить код JavaScript на основе браузера.
Рамки, такие как Mocha и Jasmine, работают как в браузере, так и с Node.js и обычно по умолчанию имеют значение Node.