使用 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
我有一个我认为是非常无争议的测试,以确保我的初始测试设置工作正常。
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