在 Polymer 中发生更改事件后调用 unit/functional 测试断言
Calling unit/functional test assertions after change events in Polymer
我一直在用 Mocha 编写一些功能测试,更改项目,然后检查更改是否正确传播。目前,我正在使用 window 超时来让 Polymer 有时间更新元素,但这感觉像是 hack。开发人员指南概述了几种不同的观察挂钩,但我不确定应该调用哪一种。
听起来最接近的是 a recommendation 将异步调用附加到 propertyChanged 事件。但是,许多项目使用 propertyChanged,将异步任务附加到 propertyChanged 事件是否会可靠地调用异步任务 在 附加到原始 propertyChanged 的元素方法被调用之后?
有关给定解决方案是否与 Polymer 1.0(或 .8/.9)向前兼容的信息的加分项。
我看错地方了,正确的地方是 Polymer 的异步部分 testing how-to。正确使用的函数是 flush(callback)
,它将 "trigger a flush of any pending events and observations, ensuring that notification callbacks are dispatched after they have been processed."
他们的文档将测试放在一起,我更喜欢每个测试套件和每个测试的单独元素。这在调试功能测试时特别有用,因为保留了更改并且更容易设置断点:
before(function(done){
nonMatchingEl.search = "";
flush(done);
});
test('updates the "pre" property', function() {
assert.equal(nonMatchingEl.pre, 'prematch-hello-postmatchhello');
});
//test two ...
我一直在用 Mocha 编写一些功能测试,更改项目,然后检查更改是否正确传播。目前,我正在使用 window 超时来让 Polymer 有时间更新元素,但这感觉像是 hack。开发人员指南概述了几种不同的观察挂钩,但我不确定应该调用哪一种。
听起来最接近的是 a recommendation 将异步调用附加到 propertyChanged 事件。但是,许多项目使用 propertyChanged,将异步任务附加到 propertyChanged 事件是否会可靠地调用异步任务 在 附加到原始 propertyChanged 的元素方法被调用之后?
有关给定解决方案是否与 Polymer 1.0(或 .8/.9)向前兼容的信息的加分项。
我看错地方了,正确的地方是 Polymer 的异步部分 testing how-to。正确使用的函数是 flush(callback)
,它将 "trigger a flush of any pending events and observations, ensuring that notification callbacks are dispatched after they have been processed."
他们的文档将测试放在一起,我更喜欢每个测试套件和每个测试的单独元素。这在调试功能测试时特别有用,因为保留了更改并且更容易设置断点:
before(function(done){
nonMatchingEl.search = "";
flush(done);
});
test('updates the "pre" property', function() {
assert.equal(nonMatchingEl.pre, 'prematch-hello-postmatchhello');
});
//test two ...