Функция возвращает массив объектов. Когда я сравниваю фактический результат с ожидаемым результатом, используя JSON.stringify
значения идентичны. Однако сравнение с использованием should.deep.equal
или _.isEqual
терпит неудачу. Кто-нибудь имел такую проблему?
Я понял, в чем проблема. Это связано с тем, что JSON.stringify
пропускает поля с undefined
значениями. Например, результат применения JSON.stringify
к следующему объекту {field: 'value', undefinedField: undefined}
- {"field": "value"}
. следовательно
JSON.stringify({field: 'value', undefinedField: undefined}) === JSON.stringify({field: 'value'})'
Но
{field: 'value', undefinedField: undefined}.should.deep.equal({field: 'value'})
терпит неудачу
should.js
, но возможно ли, что они проверяют не только значения, но и ссылки? Вопрос подчеркивания, кажется, такой же, как этот вопрос SO .