Вот еще один способ сделать это без специального сопоставителя.Я предполагаю, что dummyArr
- ваши фальшивые данные, и вы хотите проверить, что setArray вызывается со вторым элементом (с именем 'b').
expect(obj.setArray).toHaveBeenCalledWith(
jasmine.arrayContaining([dummyArr.find(el => e.name === 'b')])
);
В зависимости от того, что вы считаете читаемым, вы можете сделатьпоиск перед ожиданием:
const dummyEl = dummyArr.find(el => e.name === 'b');
expect(obj.setArray).toHaveBeenCalledWith(jasmine.arrayContaining([dummyEl]));
Обратите внимание, что это происходит, когда setArray вызывается с любым массивом, содержащим этот элемент, например, с целым dummyArr
.Если вы хотите точное совпадение, используйте jasmine.arrayWithExactContents()
.