Angular 2测试$ event:MouseEvent preventDefault和stopPropagation hasBeenCalled

时间:2017-04-10 11:19:33

标签: angular typescript jasmine karma-jasmine

在一个组件中,我有一个我需要编写测试的函数。

toggleDropdown($event: MouseEvent): void {
    $event.preventDefault();
    $event.stopPropagation();
    this.status.isopen = !this.status.isopen;
  }

我如何“存根”$event或更准确地MouseEvent(例如针对点击案例)并测试两种方法preventDefault()stopPropagation()已被正确调用?

如何触发此方法,包括正确的$event

我很难为这个方法定义一个合适的测试用例。我尝试spyOn $event但由于无法找到名称$event

而无法正常工作

1 个答案:

答案 0 :(得分:1)

除非您检查是否已调用这两个函数,否则无需执行此操作。只需将new Event('MouseEvent')作为参数传递。