Polymer的网络组件测试人员可以使用Chai API吗?

时间:2017-06-25 00:32:38

标签: polymer chai polymer-2.x web-component-tester

我有这个标记<page-welcome>

<test-fixture id="fixture-one">
    <template>
        <page-welcome></page-welcome>
    </template>
</test-fixture>

<page-welcome>内,我导入<paper-button>并为其提供big-btn类。重要的是此按钮存在于<page-welcome>元素上,因此我想用以下方法对其进行测试:

    test('does the custom cmponent exist', function() {
        var test = fixture('fixture-one').shadowRoot.querySelector('.big-btn');
        assert.exists(test);
    });

我的理解是,我应该能够使用所有Chai API,因此assert.exists应该可用。

但为什么我会收到以下错误?

assert.exists is not a function

1 个答案:

答案 0 :(得分:2)

web-component-tester uses chai 3.5.0,不包含assert.exists

请注意,chai的git历史记录显示assert.exists4.0.0-canary-2的介绍(在发行说明中似乎没有记录)。您可以将此版本的chai安装为devDependency,而不会破坏任何内容:

bower i -D chai

当bower提示进行版本解析时,选择较新的/4.x版本(当前为4.0.2):

Unable to find a suitable version for chai, please choose one by typing one of the numbers below:
    1) chai#^3.2.0 which resolved to 3.5.0 and is required by web-component-tester#6.0.0
    2) chai#^4.0.2 which resolved to 4.0.2

Prefix the choice with ! to persist it to bower.json

? Answer