我有数百个聚合物测试套件。在每次测试结束时,我都想访问DOM进行一些自定义质量检查。
写一个wct插件会起作用吗?如果是这样,我应该如何从插件中访问DOM?
提前致谢!
答案 0 :(得分:2)
无需插件。您可以使用本机DOM API(例如el.querySelector()
)或Polymer实例方法(例如el.$$()
或el.getEffectiveChildren()
)访问测试夹具的DOM。我在Chrome 53和56上用Shady和Shadow DOM验证了这一点。
此示例向afterEach()
添加了几个与DOM相关的断言,该断言在每次测试后运行:
<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>