Утверждающих библиотеками являются инструментом для проверки того, что все правильно.
Это упрощает проверку кода, поэтому вам не нужно делать тысячи сообщений if
.
Примера (с использованием should.js и Node.js утверждает модуль):
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);
}
рамки тестирования используется для организации и выполнения тестов.
Мокка и Жасмин - два популярных варианта (и они на самом деле похожи друг на друга).
Пример (с использованием мокко с should.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;
});
});
Testing Среда являются местами, где вы запускаете тесты.
Карма - это крошечный кейс, в том смысле, что это своего рода одноразовый инструмент, не многим это нравится. Карма работает, запуская тесты вашего устройства внутри браузеров (по умолчанию для PhantomJS, браузера без браузера WebKit), чтобы вы могли протестировать JavaScript-код на основе браузера.
Рамки, такие как Mocha и Jasmine, работают как в браузере, так и в Node.js и обычно по умолчанию для узла.
Чтобы сделать вещи еще более сложными, есть также [клиенты Selenium Webdriver Node.JS] (http://www.slant.co/topics/2814/viewpoints/2/~what-are-the-best-node -js-selenium-webdriver-client-libraries-bindings), некоторые из которых позволяют запускать тесты Jasmine, Cucumber или Moca + Chai (например, WebdriverIO). –
Вопрос не очень хорошо написан, учитывая, что OP дает примеры из 3 вещей, которые они хотят уточнить, и они даже дали ссылку для получения дополнительной информации. Его почти собственный ответ на название вопроса. Тем не менее, я «предполагаю», что, учитывая предоставленную информацию, OP хочет получить более подробную разбивку. Но это поможет узнать, какие части до сих пор неясны для ОП. – redfox05