Как использовать Карма Жасмин "toHaveBeenCalledWith" Массив? - PullRequest
1 голос
/ 06 ноября 2019

У меня есть модульный тест, подобный так:

it('should be successful', fakeAsync(() =>
  component.doSomething();
  let myObj = {
    abc: 'test1',
    dfg: 'test2'
  }
  let myArray: Array<AnObject> = [myObj];
  expect(storage.set).toHaveBeenCalledWith('storedThing', myArray);
));

Это вызываемый метод doSomething:

myArray: Array<AnObject>;

doSomething(): void {
  let myObj = {
    abc: 'test1',
    dfg: 'test2'
  }
  myArray.push(myObj);
  this.storage.set('storedThing', myArray);
}

Но когда я запускаюсь, я получаю следующую ошибку:

Ожидается, что шпионский набор был вызван с помощью ['storeThing', [Object]], но фактические вызовы были ['storageThing', Array].

Что я делаю неправильно

...