Проверка текущей стоимости имущества в Жасмин - PullRequest
0 голосов
/ 24 апреля 2018

Как проверить это в Жасмин:

buffer: number[] = [];

initP(): void {
    if (this.buffer.length) {
      this.buffer = [];
    }
    this.buffer = this.buffer.concat([27, 64]);
  }

Я пытался передать текущее значение следующим образом:

it('should initialise it', () => {
    spyOn(pService, 'initP');
    pService.initP();
    expect(buffer).toBe([27, 64]);
    expect(pService.initP).toHaveBeenCalled();
  });

Проблема в том, что я получаю эту ошибку:

Ожидаемое [] будет [27, 64] .

Я добавляю свой сервис в блок beforeEach следующим образом:

let pService;
let buffer: number[];

beforeEach(inject([PService], _pService => {
    pService = _pService;
    buffer = _pService.buffer;
  }));

1 Ответ

0 голосов
/ 24 апреля 2018

Вам нужно добавить .and.callThrough();, чтобы он по-прежнему вызывал исходную функцию.В противном случае он не попадет в исходную реализацию initP.

spyOn(pService, 'initP').and.callThrough();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...