Почему этот тест не выполняется на node.js с must и mocha?

'use strict';

var should = require('should');

describe('wtf', function () {
    it('compare arrays', function (done) {
        [].should.equal([]);
    });
});

Мои тесты работали нормально, пока я не переключился с установленного узла 10.26 с brew на установленную версию nvm 10.33.

Вот ошибка:

AssertionError: expected [] to equal []
Expected :[]
Actual   :[]

1 ответ

Решение

should( [actual] ).eql( [comapre] ) - глубокое сравнение


Это пройдет

it('compare arrays', function (done) {
    var test = [];
    should(test).eql([]);
    done();
});

Это не удастся

it('compare arrays', function (done) {
    var test = ['t'];
    should(test).eql([]);
    done();
});

Примечание: не забудьте закончить async тесты с done()

Другие вопросы по тегам