Sag*_*gie 20 javascript testing jasmine karma-runner karma-jasmine
我有一个获得3个参数的函数.我想检查一下这个函数没有抛出错误.我做了这样的事情:
expect(myFunc).not.toThrow();
Run Code Online (Sandbox Code Playgroud)
问题是myFunc
需要争论.我该如何发送论据?
PS我试图传递它的参数,但我得到的错误myFunc(arg1, arg2, arg3)
不是函数.
Bar*_*icz 30
toThrow
matcher要求函数作为参数传递,expect
因此您可以简单地将函数调用包装在匿名函数中:
expect(function() {
myFunc(arg1, arg2, arg3);
}).not.toThrow();
Run Code Online (Sandbox Code Playgroud)
您还可以使用bind来创建函数的新"版本",在调用时将传递提供的参数:
expect(myFunc.bind(null, arg1, arg2, arg3)).not.toThrow();
Run Code Online (Sandbox Code Playgroud)