2

オブジェクトがあるとします

var myObject = Ember.Object.create({
  enable: function(){
    //a method which has a lot of calculations and returns a boolean
  }.property("someDependency"),
  disable: Ember.computed.not("enable")
})

enableプロパティを個別にテストしますが、プロパティを個別にテストしたいので、テストケースを単純にするためdisableにスタブを作成したいだけです。enable

私は試した

myObject.set("enable", true)

しかし、セッターを定義する必要があるため、これは正しくありません (計算されたすべてのプロパティには当てはまりません)。

sinon.stub(myObject, "enable")

も失敗しEmber.computedますobjectが、sinon は 2 番目の引数としてメソッドを必要とします

それで、問題はstub、 ember 0.9.8 で計算されたプロパティの正しい方法は何ですか?

4

1 に答える 1

4

私はこれを行う1つの方法を見つけました(正確にはスタブではありませんが)、これについて誰もがどう思うか知りたいだけです

beforeEach(function(){
  object.reopen({enable: true});
})

it('should be false when enable is true', function(){
  expect(object.get("disable")).to.be.false;
})
于 2013-12-16T17:02:35.497 に答える