Ответ 1
Взгляните на плагин Chai Things, который делает то, что вы хотите:
[{a:1},{b:2}].should.include.something.that.deep.equals({b:2})
Chai имеет хороший способ утверждать, что в массив входит определенный элемент
expect([1,2,3]).to.include(2);
Что бы я хотел, это нечто похожее, учитывая массив объектов:
expect([{a:1},{b:2}]).to.include({b:2});
Возможно ли это?
Взгляните на плагин Chai Things, который делает то, что вы хотите:
[{a:1},{b:2}].should.include.something.that.deep.equals({b:2})
Вот альтернативный и не зависящий от порядка подход для коллекций:
expect([1, 2, 3]).to.include.members([3, 2, 1])
Вы также можете использовать это с флагом deep
для сравнения объектов:
expect([{ id: 1 }]).to.deep.include.members([{ id: 1 }]);
expect({foo: 'bar', width: 190, height: 90}).to.include({ height: 90, width: 190 })
Вы можете использовать глубокий метод для массива объектов.
ожидать ([{a: 1}, {b: 2}]). to.deep.include({b: 2});//Он пройдет
Вы можете найти больше примеров, используя глубокий метод Здесь
Главное здесь вспомнить о типах ссылок.