gpt4 book ai didi

coffeescript - 如何用 Sinon stub super() 调用

转载 作者:行者123 更新时间:2023-12-03 21:40:35 25 4
gpt4 key购买 nike

我正在使用 Coffeescript,我正在使用 Sinon.js 进行测试。在测试调用它覆盖的方法的方法时,我如何 stub 对 super() 的调用?

例如,我要测试的方法(backbone.js 模型):

class Whatever extends Model
validate: (attributes) ->
validationErrors = super(attributes)
...
validationErrors

在示例中,我想确保 super()使用给定的属性调用并且 validate 返回验证错误 super()返回。

最佳答案

像这样:

it 'calls super and returns its result', ->
whatever = new Whatever()
attributes = sinon.stub()
superValidateStub = sinon.mock(Whatever.__super__)
superValidateStub.expects('validate').withExactArgs(attributes).returns('VALIDATION_RESULT')

expect(whatever.validate(attributes)).to.eql('VALIDATION_RESULT')

superValidateStub.verify()

希望这可以帮助任何人。

关于coffeescript - 如何用 Sinon stub super() 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562116/

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