Может ли тестер веб-компонентов Polymer использовать Chai API?

У меня есть это приспособление, которое штампует <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);
    });

Насколько я понимаю, я должен иметь возможность использовать весь API Chai, и поэтому assert.exists должен быть доступен.

Но почему я получаю следующую ошибку?

assert.exists is not a function

person Bill    schedule 25.06.2017    source источник


Ответы (1)


web-component-tester использует chai 3.5.0, что не включает assert.exists.

Обратите внимание, что история git chai показывает введение assert.exists в 4.0.0-canary-2 (похоже, это не задокументировано в примечаниях к выпуску). Вы можете установить эту версию chai как devDependency, ничего не нарушая:

bower i -D chai

Выберите версию более новую/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
person tony19    schedule 25.06.2017