Что я хотел бы сделать
describe('my object', function() {
it('has these properties', function() {
expect(Object.keys(myObject)).toEqual([
'property1',
'property2',
...
]);
});
});
но, конечно, Object.keys
возвращает массив, который по определению упорядочен... Я бы предпочел, чтобы этот тестовый проход был независимо от упорядочения свойств (что имеет смысл для меня, поскольку в любом случае нет спецификации для упорядочения ключей объектов... (по крайней мере, до ES5)).
Как я могу проверить, что мой объект имеет все свойства, которые он должен иметь, а также убедиться, что он не пропускает никаких свойств, не беспокоясь о перечислении этих свойств в правильном порядке?