簡體   English   中英

帶有 sinon 的 Stub es6 getter setter

[英]Stub es6 getter setter with sinon

如果您對 getter/setter 使用以下 es6 語法

class Person {
  constructor(name) {
    this._name = name;
  }

  get name() {
    return this._name.toUpperCase();
  }

  set name(newName) {
    this._name = newName;
  } 
}

你將如何存根 getter 方法?

const john = new Person('john')
sinon.createSandbox().stub(john, 'name').returns('whatever')

似乎沒有工作。

Github 問題導致我: sinon js doc

stub.get(getterFn)

替換此存根的新吸氣劑。

var myObj = {
    prop: 'foo'
};

sinon.stub(myObj, 'prop').get(function getterFn() {
    return 'bar';
});

myObj.prop; // 'bar'

stub.set(setterFn)

為此存根定義一個新的設置器。

var myObj = {
    example: 'oldValue',
    prop: 'foo'
};

sinon.stub(myObj, 'prop').set(function setterFn(val) {
    myObj.example = val;
});

myObj.prop = 'baz';

myObj.example; // 'baz'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM