gpt4 book ai didi

unit-testing - Angular 2 单元测试 : How do I test for the context menu and double click events?

转载 作者:行者123 更新时间:2023-12-04 05:15:48 26 4
gpt4 key购买 nike

我只是想让它工作

 let fixture: any = TestBed.createComponent(ComponentBeingTested);
fixture.detectChanges();
const contextMenuEl: DebugElement[] = fixture.debugElement.queryAll(By.css("td");
contextMenuEl[0].nativeElement.oncontextmenu();
const doubleClickEl: DebugElement[] = fixture.debugElement.queryAll(By.css("li");
doubleClickEl[0].nativeElement.ondblclick();

当这是组件的模板时:

<td (contextmenu)="contextMenuFunction">Context Menu</td>
<li (dblclick)="dblClickFunction">Double click</li>

我收到错误 contextMenuEl[0].nativeElement.oncontextmenu is not a function and doubleClickEl[0].nativeElement.ondblclick is not a function

应用程序功能按预期运行。是的,如果我将这些事件更改为在模板中单击并在测试中单击,它在测试中都有效。

最佳答案

这是触发上下文菜单更改的方法:

 contextMenuEl[0].triggerEventHandler("contextmenu", new  MouseEvent("contextmenu"));
fixture.detectChanges();

这是触发双击更改的方法:

doubleClickEl[0].triggerEventHandler("dblclick", new MouseEvent("dblclick"));
fixture.detectChanges();

关于unit-testing - Angular 2 单元测试 : How do I test for the context menu and double click events?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40537867/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com