Gia*_*ini 4 javascript testing unit-testing chai
我需要在JavaScript单元测试中声明两点之间的相等性:
var pnt1 = {x: 2, y: 3};
Run Code Online (Sandbox Code Playgroud)
和
var pnt2 = {x: 2, y: 3};
Run Code Online (Sandbox Code Playgroud)
当我做
assert.equal(pnt1, pnt2);
Run Code Online (Sandbox Code Playgroud)
它说的要点是不同的。是否可以从检查中排除对象是不同实例的事实(因此实际上它们是“不相等的”)?
我想,以避免为每个字段测试创建断言,一个列表(在这种情况下.x和.y)
代替.equal,使用.deepEqual:
assert.deepEqual(pnt1, pnt2);
Run Code Online (Sandbox Code Playgroud)
这将执行深度比较,而不是简单地检查是否相等。