Как проверить, была ли вызвана функция с истинным значением (а не неопределенным) в Жасмине? - PullRequest
0 голосов
/ 09 января 2019

В Jasmine есть функции .toHaveBeenCalledWith () и .toBeTruthy (), но есть ли способ проверить, была ли вызвана функция со значением, которое является правдивым?

Насколько я знаю, с .toHaveBeenCalledWith () вы должны передать точное значение, но я просто хотел бы проверить, была ли вызвана функция с истинным значением (например, не неопределенным или нулевым).

1 Ответ

0 голосов
/ 10 января 2019

Что вы могли бы сделать, так это настроить шпиона на функцию, для которой вы пытаетесь проверить аргумент. Затем получите аргумент через шпиона, например, let my arg = mySpy.calls.mostRecent().args[0]; и сделать простое ожидание expect(arg).toBeTruthy().

Фрагмент псевдокода:

let mySpy = spyOn(myComponent, 'myFunctionToSpyOn').and.callThrough();

// do something that triggers the function call

let arg = mySpy.calls.mostRecent().args[0];
expect(arg).toBeTruthy();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...