typescript - StencilJS E2E测试: How do you dispatch a custom event?

标签 typescript web-component e2e-testing stenciljs

如何将 CustomEvent 分派(dispatch)到 StencilJS E2E 测试中的元素:

const page = await newE2EPage({html: `<my-component></my-component>`});
let component = await page.find('my-component');

?? component.dispatch(new Event('my-event'));

在上面的代码中,我尝试将 customEvent 分派(dispatch)到我的组件,以便我可以测试它是否正确响应。但我在 newE2EPage 中没有看到任何方法可以做到这一点。有什么建议吗?

最佳答案

Stenciljs在其E2EElement class上提供了一个triggerEvent函数.

你可以这样做:

const page = await newE2EPage();
await page.setContent('some-markup-with-your-component');
const el = page.find('#element-that-would-emit');
el.triggerEvent('some-custom-event');
await page.waitForChanges();
//Your expect assertion here.

关于typescript - StencilJS E2E测试: How do you dispatch a custom event?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57421937/

相关文章:

javascript - 使用 "this"或 "window"调度自定义事件?

javascript - StencilJs 组件未在另一个 stenciljs 项目中呈现

javascript - TestCafe runner.video 不是 createTestCafe.then.then.remoteConnection 的函数

javascript - Test Cafe - 如何修改数据或将数据注入(inject)响应?

testing - 在 testcafe 中捕获数据属性

Angular 6 每 X 秒运行一个函数

reactjs - useReducer 中返回参数的通用类型

在子类或接口(interface)上定义的 Typescript 专用重载

html - 创建具有不同子类型的自定义元素

javascript - Ngrx store dispatch 不接受字符串作为参数