Polymer 的 web-component-tester 可以使用 Chai API 吗?

Can Polymer's web-component-tester use the Chai API?

我有这个夹具可以消除 <page-welcome>:

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

<page-welcome> 中,我导入 <paper-button> 并给它 class 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

web-component-testeruses chai 3.5.0,不包括assert.exists.

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

bower i -D chai

Select newer/4.x 版本(当前 4.0.2)当 bower 提示版本解析时:

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