Чай глубокий равный с заданной глубиной - PullRequest
0 голосов
/ 02 апреля 2020

Я хочу выполнить тест глубокого равенства с использованием библиотеки chai, но только с ограниченной глубиной. Например:

const a = {
    foo: {
        bar: {
            baz: "qux"
        }
    }
}

const b = {
    foo: { // compared deeply
        bar: { // compared by identity (===)
            baz: "qux"
        }
    }
}

// this passes, since 'a' and 'b' are structurally equal
expect(a).to.deep.equal(b);

// this would fail, since the 'bar' object would be compared by identity
expect(a).to.deep.depth(1).equal(b);

В моем реальном сценарии объект bar, конечно, будет намного сложнее. Сравнение их по идентичности более чем достаточно, и глубокое равенство даже сталкивается с проблемами из-за циклических ссылок.

Есть ли встроенная функция или плагин, обеспечивающий эту функциональность? Я нашел chai-shallow-deep-equal , у которого есть многообещающее имя, но, к сожалению, оно не выглядит так, как оно соответствует моим потребностям.

...