期望不要使用参数抛出函数 - Jasmine [英] Expect not toThrow function with arguments - Jasmine

查看:67
本文介绍了期望不要使用参数抛出函数 - Jasmine的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have function that gets 3 arguments. I want to check that this function not throwing an error. I did something like this:

expect(myFunc).not.toThrow();

问题是 myFunc 需要获取参数。我如何发送参数?

The problem is myFunc need to get argument. How can I send the arguments?

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

P.S I tried to pass it argument but I got error that myFunc(arg1, arg2, arg3) is not a function.

推荐答案

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

toThrow matcher requires function to be passed as argument to expect so you can simply wrap your function call in anonymous function:

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

您还可以使用 bind 创建函数的新版本,调用后将通过参数传递:

You can also use bind to create new 'version' of your function that when called will be passed provided arguments:

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

这篇关于期望不要使用参数抛出函数 - Jasmine的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆