什么是sinonjs

时间:2017-06-06 08:13:20

标签: javascript unit-testing sinon jasmine2.0 sinon-chai

我正在寻找sinonjs中等效的jasmine.createSpy().and.callFake(fn)

例如:

const mySpy = jasmine.createSpy('my spy')
.and
.callFake((options) => Object.assign({}, {name: 'foo'}, options));

3 个答案:

答案 0 :(得分:2)

可以修改(可选包装函数的)返回值的间谍在Sinon用语中称为存根,因此您正在寻找is the documentation on stubs。你的例子看起来像这样:

const myStub = sinon.stub().callsFake((options) => Object.assign({}, {name: 'foo'}, options));

console.log(myStub().name === 'foo') // => 'true'

披露:我是Sinon维护团队的一员。

答案 1 :(得分:0)

根据我对Jasmine文档的理解,这应该做类似的事情:

const mySpy = sinon.spy((options) => Object.assign({}, {name: 'foo'}, options))

答案 2 :(得分:0)

这应该有效:

var stub = sinon.stub(object, "method", func);

检查出来:http://legacy.sinonjs.org/docs/