我正在尝试在模板中测试一个事件。在click事件中,有一个Reactive Var被设置。
测试被Reactive Var阻止。
关于如何在模板中存根或模拟反应变量的任何想法?我尝试将它添加到模板(template.reactiveVar =“whatever”),但没有去,因为我不认为它是可写的。
??表明我想知道放什么。
it('点击按钮时设置反应变量',function(){
Template.button.fireEvent('click ', {
context: { some: 'values'},
event: {'target': {'text': 'randomText' } },
templateInstance:new Template('upload', function(e) {
this.reactiveVar = new ReactiveVar("not clicked)
})
});
chai.assert.equal(Template.reactiveVar, "clicked")});
// The actual template is below..
Template.button.events{(
'click button': function(evt, template){
var text = evt.target.text
template.reactiveVar.set(text)
}
});
结果是...... TypeError:无法读取未定义
的属性'set'有什么想法吗?
答案 0 :(得分:0)
我怀疑事件实际上正在触发并在创建反应式var的回调运行之前到达事件处理程序。
首次创建独立于测试的模板时,应创建活动变量:
Template.button.onCreated(function(){
this.reactiveVar = new ReactiveVar("not clicked");
});