Polymer Polmyer'中的数据绑定;s<;测试夹具>;
我正在尝试使用他们的产品测试一个定制的聚合物元件。许多例子都利用了。我想使用数据绑定测试我的自定义元素,但我很难让数据绑定正常工作 本质上,我想获取我的自定义元素,假设变量是绑定的,并断言关于它的内容。我正试图遵循测试夹具自述中的示例。还要注意的是,在意识到堆栈溢出可能是一个更好的地方之前,我最初发布了这个问题 我在my-element.html文件中定义了一个自定义元素,如下所示:Polymer Polmyer'中的数据绑定;s<;测试夹具>;,polymer,polymer-1.0,Polymer,Polymer 1.0,我正在尝试使用他们的产品测试一个定制的聚合物元件。许多例子都利用了。我想使用数据绑定测试我的自定义元素,但我很难让数据绑定正常工作 本质上,我想获取我的自定义元素,假设变量是绑定的,并断言关于它的内容。我正试图遵循测试夹具自述中的示例。还要注意的是,在意识到堆栈溢出可能是一个更好的地方之前,我最初发布了这个问题 我在my-element.html文件中定义了一个自定义元素,如下所示: <dom-module id="my-element"> <template>
<dom-module id="my-element">
<template>
<style>
:host {
display: block;
box-sizing: border-box;
}
</style>
<div id="txt-url" class="card-content">{{captureUrl}}</div>
</template>
<script>
Polymer({
is: 'my-element',
properties: { captureUrl: String }
});
</script>
:主持人{
显示:块;
框大小:边框框;
}
{{captureUrl}}
聚合物({
是‘我的元素’,
属性:{captureUrl:String}
});
以下是my-element-test.html文件的相关部分:
<test-fixture id="my-fixture">
<template>
<my-element>
<h2>seed-element</h2>
</my-element>
</template>
</test-fixture>
<script>
suite('<my-element>', function() {
var myEl;
setup(function() {
myEl = fixture('my-fixture', {captureUrl: 'the url'});
});
test('heading is captureUrl', function() {
var urlDiv = myEl.$$('#txt-url');
// this will obviously fail, but used for logging purposes
assert.equal(urlDiv, boundData.captureUrl);
});
});
</script>
种子元素
套件(“”,函数(){
髓鞘变异;
设置(函数(){
myEl=fixture('my-fixture',{captureUrl:'theurl'});
});
测试('标题是captureUrl',函数(){
var urlDiv=myEl.$$('#txt url');
//这显然会失败,但用于日志记录
assert.equal(urlDiv,boundData.captureUrl);
});
});
当我运行此命令时,我在错误消息中看到urlDiv(console.log对我不起作用),并且div为空,没有绑定captureUrl并插入到函数中。我做错了什么?我用错聚合物了吗?错误使用测试夹具?我认为您缺少模板中的绑定声明:
<test-fixture id="cached-page-summary-fixture">
<template is="dom-template">
<cached-page-summary capture-url="{{captureUrl}}">
<h2>seed-element</h2>
</cached-page-summary>
</template>
</test-fixture>
种子元素
此外,您正在测试
,但它不在测试夹具模板中。您想绑定什么数据
编辑
以下是我对您的代码所做的最重要的更改:
fixture()
调用是使用错误的元素id执行的这是一个有效的方法。执行
bower安装
,然后在浏览器中打开test.html即可。我的错误缓存的页面摘要
应该是我的元素
。我已经编辑了我的问题。用捕获url=“[[captureUrl]”替换不知道在哪里
似乎无法修复它,因为它仍然没有定义。我正在尝试将数据注入到我可以测试的元素中。从您的要点开始,我能够让它工作。非常感谢。我认为我的原始代码的两个错误是缺少is=“dom模板”“
以及未能在测试本身的my element
标记上包含capture url={{{captureUrl}
。非常感谢。