0

我一直在 Mocha 中编写一些功能测试,更改项目,然后检查更改是否正确传播。目前,我正在使用窗口超时来让 Polymer 有时间更新元素,但这感觉就像是 hack。开发人员指南概述了一些不同的观察钩子,但我不确定应该调用哪一个。

听起来最接近的建议是将异步调用附加到 propertyChanged 事件。但是,许多项目使用 propertyChanged,在调用附加到原始 propertyChanged 的​​元素方法 ,将异步任务附加到 propertyChanged 事件是否会可靠地调用异步任务?

有关给定解决方案是否与 Polymer 1.0(或 .8/.9)前向兼容的信息的奖励积分。

4

1 回答 1

0

我找错地方了,正确的地方是 Polymer 的测试方法的异步部分。使用的正确函数是flush(callback),它将“触发任何未决事件和观察的刷新,确保通知回调在处理后被调度”。

他们的文档将测试组合在一起,我更喜欢每个测试套件和每个测试的单个元素。这在调试功能测试时特别有用,因为更改被保留并且更容易设置断点:

  before(function(done){
    nonMatchingEl.search = "";
    flush(done);
  });

  test('updates the "pre" property', function() {
    assert.equal(nonMatchingEl.pre, 'prematch-hello-postmatchhello');
  });

  //test two ...
于 2015-04-29T04:36:48.610 回答