在Javascript测试(chai)中声明对象相等性

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

Cer*_*rus 6

代替.equal,使用.deepEqual

assert.deepEqual(pnt1, pnt2);
Run Code Online (Sandbox Code Playgroud)

这将执行深度比较,而不是简单地检查是否相等。