Javascript Chai check对象只包含键
我试图找出一些替换为只检查对象只包含列出的键的关键字的方法 我的期望是:Javascript Chai check对象只包含键,javascript,node.js,unit-testing,chai,Javascript,Node.js,Unit Testing,Chai,我试图找出一些替换为只检查对象只包含列出的键的关键字的方法 我的期望是: chai.expect({x:1,z:1}).to.contains.only.keys(“x”,“y”)失败 chai.expect({}).to.contains.only.keys(“x”,“y”)passes chai.expect({x:1}).to.contains.only.keys(“x”,“y”)passes您应该使用 使用过滤对象将获得您想要的: expect(_.omit({ x: 1, z: 1 }
chai.expect({x:1,z:1}).to.contains.only.keys(“x”,“y”)
失败
chai.expect({}).to.contains.only.keys(“x”,“y”)
passes
chai.expect({x:1}).to.contains.only.keys(“x”,“y”)
passes您应该使用
使用过滤对象将获得您想要的:
expect(_.omit({ x: 1, z: 1 }, ['x','y']), 'invalid properties').to.be.empty; /* fails */
expect(_.omit({ x: 1 }, ['x','y']), 'invalid properties').to.be.empty; /* passes */
expect(_.omit({ }, ['x','y']), 'invalid properties').to.be.empty; /* passes */
更新的样本不正确。无法应用这个答案,但这是我的错误。
expect(_.omit({ x: 1, z: 1 }, ['x','y']), 'invalid properties').to.be.empty; /* fails */
expect(_.omit({ x: 1 }, ['x','y']), 'invalid properties').to.be.empty; /* passes */
expect(_.omit({ }, ['x','y']), 'invalid properties').to.be.empty; /* passes */