我有数百个 Polymer 测试套件。在每次测试结束时,我想访问 DOM 以进行一些自定义质量检查。
写一个 wct 插件有用吗?如果是这样,我应该如何从插件中访问 DOM?
提前致谢!
我有数百个 Polymer 测试套件。在每次测试结束时,我想访问 DOM 以进行一些自定义质量检查。
写一个 wct 插件有用吗?如果是这样,我应该如何从插件中访问 DOM?
提前致谢!
无需插件。您已经可以使用本地 DOM API(例如,el.querySelector()
)或 Polymer 实例方法(例如,el.$$()
或el.getEffectiveChildren()
)访问测试夹具的 DOM。我在 Chrome 53 和 56 上使用 Shady 和 Shadow DOM 验证了这一点。
此示例向 中添加了几个与 DOM 相关的断言afterEach()
,它们在每次测试后运行:
<test-fixture id="basic">
<template>
<my-app></my-app>
</template>
</test-fixture>
<script>
describe('my-app', function() {
var el;
beforeEach(function() {
el = fixture('basic');
});
afterEach(function() {
expect(el.$$('h2').textContent).to.have.string('Hello');
expect(el.querySelectorAll('*')).to.have.lengthOf(2);
});
it('instantiating the el works', function() {
expect(el.is).to.equal('my-app');
});
});
</script>