Chai具有include方法。我想测试看看一个对象是否包含另一个对象。例如:

var origin = {
  name: "John",
  otherObj: {
    title: "Example"
  }
}

我想使用Chai来测试此对象是否包含以下内容(确实如此)
var match = {
  otherObj: {
    title: "Example"
  }
}

这样做似乎无效:
origin.should.include(match)

最佳答案



因此,如果您要在对象(而不是数组或字符串)上调用包含,则它仅用于切换键声明的包含标志。从您的示例的外观来看,测试深度相等将更有意义,可能首先检查 key 。

origins.should.include.keys("otherObj");
origins.otherObj.should.deep.equal(match.otherObj);

实际上,现在我浏览其他示例,您可能对此最高兴:
origins.should.have.deep.property("otherObj", match.otherObj)

关于javascript - Chai.js : Object contains/includes,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15144952/

10-11 22:10