Javascript 包含函数的对象上的深度相等
如果函数的toString()表示形式是deep equal,那么如何在函数之间断言deep equalJavascript 包含函数的对象上的深度相等,javascript,unit-testing,testing,chai,Javascript,Unit Testing,Testing,Chai,如果函数的toString()表示形式是deep equal,那么如何在函数之间断言deep equal expect(() => {}).to.deep.equal(() => {}); // => should be pass const foo = (x) => { // foo return x; } const bar = (x) => { // bar return x; } expect(foo).to.deep.equal(bar
expect(() => {}).to.deep.equal(() => {}); // => should be pass
const foo = (x) => {
// foo
return x;
}
const bar = (x) => {
// bar
return x;
}
expect(foo).to.deep.equal(bar); // => should be not pass because comment makes them different
Deep equal的设计目的是进行深入而非松散的比较,如果这样做的话
感觉换句话说,它设计用于遍历
对象或数组(以及很快的iterables),并比较它们的值
属性相互关联。重要的是,当它达到一个
不是iterable、数组或对象,它实际上使用
比严格相等比较更严格(它使用SameValue)。
函数不是不可编辑的,它们没有可以制作一个好函数的键
质量比较,因此给予相同的处理
Deep equal的设计目的是进行深入而非松散的比较,如果这样做的话
感觉换句话说,它设计用于遍历
对象或数组(以及很快的iterables),并比较它们的值
属性相互关联。重要的是,当它达到一个
不是iterable、数组或对象,它实际上使用
比严格相等比较更严格(它使用SameValue)。
函数不是不可编辑的,它们没有可以制作一个好函数的键
质量比较,因此给予相同的处理