Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chai check对象只包含键_Javascript_Node.js_Unit Testing_Chai - Fatal编程技术网

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 */