Mocha / Chai проверяет, существуют ли ключи на прототипе объекта - PullRequest
0 голосов
/ 31 октября 2018

Я пишу тесты с использованием Mocha / Chai, а assert.hasAllKeys работает с ключами, а не с прототипом объекта. Есть ли способ проверить, существуют ли ключи в прототипе объекта?

Я пытался читать документы безрезультатно.

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 ноября 2018

Мы можем использовать этот способ

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       
  })
});

Надеюсь, это поможет

0 голосов
/ 02 ноября 2018

Может быть:

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

достаточно хорошо? )

...