Подтвердить что ты не робот

Какая разница между библиотекой утверждений, базой тестирования и тестовой средой в javascript?

Chai является библиотекой утверждений.

Mocha и Jasmine тестируют рамки.

и Karma - это тестовая среда.

Я уже читал Разницу между доступными платформами тестирования: mocha, chai, karma, jasmine, should.js и т.д..

4b9b3361

Ответ 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.

Ответ 2

Среда тестирования (или тестовый бегун) - это то, что запускает все ваши тесты. Он запускает их, агрегирует результаты и т.д.

Структура тестирования - это то, что вы используете для создания каждого из тестов. Например, жасмин использует синтаксис

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 
});