gpt4 book ai didi

javascript - buster.js/sinon 有类似 `jasmine.any()` 的东西吗?

转载 作者:搜寻专家 更新时间:2023-11-01 05:06:02 24 4
gpt4 key购买 nike

开发一个回调驱动的 API,我想表达一个特定的函数被一组特定的参数和“任何”函数(回调)调用。

Jasmine 可以做以下事情:

var serviceFunction = jasmine.createSpy();
var functionUnderTest = create(serviceFunction);
var thing = 'arbitrary/thing'

functionUnderTest(thing);
expect(serviceFunction).toHaveBeenCalledWith(thing, jasmine.any(Function));

sinon/buster.js 有类似的功能吗?到目前为止,我只测试了第一个参数,但我真的很想表达在测试中需要回调。

这是我目前所拥有的:

var serviceFunction = this.spy(); // or `sinon.spy()`
var functionUnderTest = create(serviceFunction);
var thing = 'arbitrary/thing'

functionUnderTest(thing);
assert.calledWith(serviceFunction, thing);

最佳答案

你应该查看 sinon.match api ( http://sinonjs.org/docs/#sinon-match-api )

使用 sinon.match.func 你上面的例子会变成:

var serviceFunction = this.spy(); // or `sinon.spy()`
var functionUnderTest = create(serviceFunction);
var thing = 'arbitrary/thing'

functionUnderTest(thing);
assert.calledWith(thing, sinon.match.func);

关于javascript - buster.js/sinon 有类似 `jasmine.any()` 的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15693467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com