我正在使用Coffeescript,我正在使用Sinon.js进行测试。在测试调用它覆盖的方法的方法时,如何将调用存根到super()
?
,例如,我想测试的方法(backbone.js模型):
class Whatever extends Model
validate: (attributes) ->
validationErrors = super(attributes)
...
validationErrors
在示例中,我想确保使用给定的属性调用super()
,并且validate返回验证错误super()
返回。
答案 0 :(得分:0)
像这样:
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()
希望这有助于任何人。