期望不要抛出带参数的函数 - Jasmine

Expect not toThrow function with arguments - Jasmine(期望不要抛出带参数的函数 - Jasmine)
本文介绍了期望不要抛出带参数的函数 - 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 arguments. How can I send the arguments?

P.S 我试图传递它的参数,但我得到错误 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 匹配器需要将函数作为参数传递给 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();

您也可以使用 绑定创建函数的新版本",在调用时将传递提供的参数:

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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

在开发JS过程中,会经常遇到两个小数相运算的情况,但是运算结果却与预期不同,调试一下发现计算结果竟然有那么长一串尾巴。如下图所示: 产生原因: JavaScript对小数运算会先转成二进制,运算完毕再转回十进制,过程中会有丢失,不过不是所有的小数间运算会
问题描述: 在javascript中引用js代码,然后导致反斜杠丢失,发现字符串中的所有\信息丢失。比如在js中引用input type=text onkeyup=value=value.replace(/[^\d]/g,) ,结果导致正则表达式中的\丢失。 问题原因: 该字符串含有\,javascript对字符串进行了转
Rails/Javascript: How to inject rails variables into (very) simple javascript(Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript)
CoffeeScript always returns in anonymous function(CoffeeScript 总是以匿名函数返回)
Ordinals in words javascript(javascript中的序数)
getFullYear returns year before on first day of year(getFullYear 在一年的第一天返回前一年)