Javascript Sinon存根方法,参数与特定对象键匹配
我有一个方法:Javascript Sinon存根方法,参数与特定对象键匹配,javascript,unit-testing,sinon,Javascript,Unit Testing,Sinon,我有一个方法: const validate = ({ foo, bar }) => foo && bar 本质上,只要您传递一个带有foo和bar键集的对象,该方法就会返回true 正在尝试将其存根并努力查看如何执行: validate: stub().withArgs(???).returns(true) 我想将不同的数据(不同的断言)传递到validate存根中,并且只有在传入对象中同时设置了foo和bar键时,它才会返回true 例如: t.is(validat
const validate = ({ foo, bar }) => foo && bar
本质上,只要您传递一个带有foo
和bar
键集的对象,该方法就会返回true
正在尝试将其存根并努力查看如何执行:
validate: stub().withArgs(???).returns(true)
我想将不同的数据(不同的断言)传递到validate
存根中,并且只有在传入对象中同时设置了foo
和bar
键时,它才会返回true
例如:
t.is(validate({ foo: 'foo', bar: 'bar' }), true)
t.is(validate({ foo: 'foo' }), false)
嗯,你想做点什么吗?:
validate:(预期为withArgs)=>stub().withArgs(预期为withArgs)。返回(预期为)
t.is(验证({foo:'foo',bar:'bar'},true)),true)代码>(注意调用实际存根的第二个()运算符)。这基本上是一种类似于工厂的方法,它使用给定参数的预期返回值创建存根在您给出的示例中,您根本不需要存根验证——您的t.is…
语句可以与您的非存根validate
函数一起使用。是否有其他要运行的断言将使用Sinon API属性?像t.is(validate.calledTwice,true)
?