Mocha / Chai检查对象原型上是否存在键

时间:2018-10-31 20:34:03

标签: javascript mocha chai

我正在使用Mocha / Chai编写测试,assert.hasAllKeys适用于不在对象原型上的键。有没有办法检查对象原型上是否存在键?

我尝试阅读文档无济于事。

谢谢

2 个答案:

答案 0 :(得分:1)

我们可以使用这种方式

assert.hasAllKeys(YourObject.prototype, ['prop1', 'prop2']);

这是代码示例:

src.js

function MyObject () {

}

MyObject.prototype.prop1 = function() {
  console.log('ok');
}

MyObject.prototype.prop2 = 10;

module.exports = {
  MyObject
};

test.js

const chai = require('chai');
const src = require('./src');
const assert = chai.assert;

describe('unit test', function() {
  it('runs test', function() {    
    assert.hasAllKeys(src.MyObject.prototype, ['prop1', 'prop2']); // check object prototype       
  })
});

希望有帮助

答案 1 :(得分:0)

也许:

/**
*  @returns bool true if propName exists in proto only
*/
const propInProtoOnly = (propName, objToCheck) =>
propName in objectToCheck && !objectToCheck.hasOwnProperty(propName)

足够好吗? )