说我们有一个对象
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)
但这是不对的,因为我们需要定义一个setter(不是所有计算属性的情况)
sinon.stub(myObject, "enable")
也失败了,因为Ember.computed
返回object
,但sinon需要一个方法作为第二个参数
那么,问题是,在0.9.8中,stub
计算属性的正确方法是什么?
我找到了一种方法来做到这一点(但并不完全是存根),只是想知道每个人对这个的看法
beforeEach(function(){
object.reopen({enable: true});
})
it('should be false when enable is true', function(){
expect(object.get("disable")).to.be.false;
})