В чем разница между библиотекой утверждений, средой тестирования и средой тестирования в javascript?
Чай - это библиотека утверждений.
Мокко и Жасмин тестируют фреймворки.
а карма - это среда тестирования.
Я уже читал разницу между доступными средами тестирования: мокко, чай, карма, жасмин, must.js и т. Д.
3 ответа
Библиотеки утверждений - это инструменты для проверки правильности вещей.
Это значительно облегчает тестирование вашего кода, поэтому вам не нужно делать тысячи if
заявления.
Пример (с использованием модуля should.js и Node.js assert):
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 с must.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.
Среда тестирования (или тестовый прогон) - это то, что запускает все ваши тесты. Он запускает их, агрегирует результаты и т. Д.
Среда тестирования - это то, что вы используете для создания каждого из тестов. Например, жасмин использует синтаксис
it('name of test', function() {
// do some tests
});
Библиотека утверждений - это то, что фактически проверяет результаты вашего теста
it('name of test', function() {
assert x == 5 //pseudocode, the syntax will vary based on your asserting framework
});
Попробуйте найти более простой ответ. Я нуб, но вот как это звучит.
Mocha организует тесты, и именно здесь вы начинаете тесты. В nodeJS есть базовое « утверждение », которое вы можете использовать для проверки того, что все работает как положено.
Chai — это способ расширить структуру « утверждений », чтобы вы могли писать более семантически полезные вещи, такие как:
expect(foo).to.be.a('string');
вместо менее явного стиля:
assert.ok(typeOf(foo) ==='string')
Или что-то с менее семантическим контекстом.