Как проверить вложенные компоненты stenciljs - PullRequest
0 голосов
/ 05 июля 2019

У меня есть компонент stenciljs, встроенный в другой компонент stenciljs

<parent-component>
  <child-component attrz="x">
  </child-component>
</parent-component>

Дочерний компонент отображается только тогда, когда родительский компонент получает событие hover с атрибутом attrz, установленным программно.Я установил компонент либо в spec.js, либо в e2e.js, вызвал событие наведения и затем дождался изменений.

Например:

  const page = await newE2EPage();
  await page.setContent(`<parent-component></parent-component>`);
  const el = await page.find('parent-component');
  await el.hover();
  await page.waitForChanges();

Однако этот атрибут не отображается втесты spec.js или e2e.js.Также кажется, что ни spec.js, ни e2e.js фактически не рендерит дочерний компонент.

Так что мой вопрос, есть ли способ проверить дочерние компоненты в stenciljs?

1 Ответ

1 голос
/ 08 июля 2019

Вы можете получить доступ к свойствам через функцию getProperty() элемента E2EElement.Предполагая, что остальная часть вашего теста выглядит примерно так:

const child = await page.find('child-component');

Вы можете протестировать свойство attrz, используя:

expect(child.getProperty('attrz')).toEqual('x');

Вам не нужно использовать отражениеattr в компонентах для проверки свойств.

...