我一直在尝试编写jasmine单元测试,以确保下面的create()模块中的函数接受参数。
var Module = function(a, b, c) {
this.foo = () => { ... };
};
export default {
create: (...args) => new Module(...args)
};
通常,参数'array'有一个length方法,它将返回函数所使用的参数个数并使用.toBe(#)。使用es6 spread / rest对象时,length方法返回0.
有没有办法检查一个函数的参数长度或它在这种情况下甚至需要什么?我总是可以明确地定义每个,但如果事情发生变化,这只是在函数调用者和模块之间改变的一件事。