首页 > 解决方案 > 如何编写 Jasmine 测试以覆盖 event.target.click

问题描述

我想为下面的方法编写一个 Jasmine 测试规范。

我的组件方法

methodName(event): void {
   event.preventDefault();
   event.target.click();
}

这是我写的,但不知道我应该写什么来覆盖 event.target.click

it('should prevent default', () => {
   const event = jasmine.createSpyObj('event', ['preventDefault']);
   component.methodName(event);
   expect(event.preventDefault).toHaveBeenCalled();
});

谢谢

标签: javascriptangulartypescriptjasminekarma-jasmine

解决方案


我在下面尝试过,它有效,但我认为应该有一种方法可以在我的用例中使用“createSpyObj”

const event = { preventDefault: jasmine.createSpy(), target: { click: jasmine.createSpy() }};

推荐阅读