Polymer Polmyer'中的数据绑定;s<;测试夹具>;

Polymer Polmyer'中的数据绑定;s<;测试夹具>;,polymer,polymer-1.0,Polymer,Polymer 1.0,我正在尝试使用他们的产品测试一个定制的聚合物元件。许多例子都利用了。我想使用数据绑定测试我的自定义元素,但我很难让数据绑定正常工作 本质上,我想获取我的自定义元素,假设变量是绑定的,并断言关于它的内容。我正试图遵循测试夹具自述中的示例。还要注意的是,在意识到堆栈溢出可能是一个更好的地方之前,我最初发布了这个问题 我在my-element.html文件中定义了一个自定义元素,如下所示: <dom-module id="my-element"> <template>

我正在尝试使用他们的产品测试一个定制的聚合物元件。许多例子都利用了。我想使用数据绑定测试我的自定义元素,但我很难让数据绑定正常工作

本质上,我想获取我的自定义元素,假设变量是绑定的,并断言关于它的内容。我正试图遵循测试夹具自述中的示例。还要注意的是,在意识到堆栈溢出可能是一个更好的地方之前,我最初发布了这个问题

我在my-element.html文件中定义了一个自定义元素,如下所示:

<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}
    。非常感谢。