使用 Mocha 的 AssertionError 测试数组

AssertionError testing arrays with Mocha

我有一个我认为是非常无争议的测试,以确保我的初始测试设置工作正常。

import assert from 'assert';
describe('Test', () => {
  it('Arrays', () => {
    assert.equal([], []);
  });
});

测试的输出对我来说很神秘。

> mocha --compilers js:babel-register test/*_test.js

  Test
    1) Arrays

  0 passing (29ms)
  1 failing

  1) Test Arrays:

      AssertionError: [] == []
      + expected - actual

      at Context.<anonymous> (basic_test.js:6:12)

npm ERR! Test failed.  See above for more details.

形容词让我失望。 有没有人可以对此有所了解。

我很难说这是一个没有争议的测试,在什么 javascript 测试框架中 [] 等于 []?因为在 vanilla javascript 中,它绝对不是。

[] == []
false

[] === []
false

也许 assert.deepEqual() 就是您要找的东西?

assert.deepEqual([], []);

或者,您可以使用 should.js library:

require('should');

var a = 'test';
a.should.equal('test'); // "equal" for primitives

var b = [];
b.should.eql([]); // "eql" for data structures