期望不要用参数抛出函数 - Jasmine

时间:2017-03-23 12:37:35

标签: javascript testing jasmine karma-runner karma-jasmine

我有一个获得3个参数的函数。我想检查一下这个函数没有抛出错误。 我做了这样的事情:

expect(myFunc).not.toThrow();

问题是myFunc需要争论。我该如何发送参数?

P.S我试图传递它的参数,但我得到myFunc(arg1, arg2, arg3)不是函数的错误。

1 个答案:

答案 0 :(得分:22)

toThrow matcher要求函数作为参数传递给expect,这样你就可以简单地将函数调用包装在匿名函数中:

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

您还可以使用bind创建新的'版本'您调用的函数将被提供参数:

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