【问题标题】:Testing a ReactiveVar in Meteor在 Meteor 中测试 ReactiveVar
【发布时间】:2017-02-07 12:45:57
【问题描述】:

我正在尝试在模板中测试一个事件。在点击事件中,有一个被设置的 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:无法读取未定义的属性“集”

有什么想法吗?

【问题讨论】:

    标签: testing meteor


    【解决方案1】:

    我怀疑该事件实际上是在创建反应变量的回调运行之前触发并进入您的事件处理程序。

    您应该在第一次创建独立于测试的模板时创建响应式变量:

    Template.button.onCreated(function(){
      this.reactiveVar = new ReactiveVar("not clicked");
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 2017-10-25
      相关资源
      最近更新 更多