在我的Angular 17应用程序中,我有一些锚点元素,它们既有用于导航的href属性,也有点击事件处理器。我不担心测试href,但我正在尝试编写一个简单的“应该调用函数”的测试用例,用于点击事件处理器。
简单来说,代码如下:
```html
点击我! :)
```
以及相关的测试代码:
```javascript
it('should call click handler when link is clicked', fakeAsync(() => {
const onClickSpy = spyOn(component, 'handleClick');
fixture.detectChanges();
const link = fixture.debugElement.query(By.css('#anchor-to-test'));
link.click();
tick();
expect(onClickSpy).toHaveBeenCalled();
}));
```
当我运行测试时,karma/jasmine窗口最终会每5秒左右重复打开新的标签页,消耗我的系统资源,并阻止任何测试实际运行(或至少完成)。
我已经尝试了这些讨论中的建议[这里](https://stackoverflow.com/questions/71087515/how-to-prevent-window-openurl-blank-to-actually-open-during-jasmine-unit-t)和[这里](https://stackoverflow.com/questions/54886794/unit-test-for-click-event-native-element-anchor-tag),但都没有成功,我的搜索技巧也失效了。
尝试移除
href
属性,然后执行点击操作!