Ожидайте не toTrow функции с аргументами - Жасмин

У меня есть функция, которая получает 3 аргумента. Я хочу проверить, что эта функция не выдает ошибку. Я сделал что-то вроде этого:

expect(myFunc).not.toThrow();

Проблема в том, что myFunc нужно получить аргументы. Как я могу отправить аргументы?

P.S. Я попытался передать аргумент, но получил ошибку, что myFunc(arg1, arg2, arg3) не является функцией.

Ответы

Ответ 1

toThrow требует, чтобы функция передавалась как аргумент, чтобы expect что вы можете просто обернуть свой вызов функции анонимной функцией:

expect(function() {
    myFunc(arg1, arg2, arg3);
}).not.toThrow();

Вы также можете использовать bind для создания новой "версии" вашей функции, которая при вызове будет передана при условии аргументов:

expect(myFunc.bind(null, arg1, arg2, arg3)).not.toThrow();