0
在一个组件中,我有一个需要编写测试的函数。
toggleDropdown($event: MouseEvent): void {
$event.preventDefault();
$event.stopPropagation();
this.status.isopen = !this.status.isopen;
}
我怎样才能“存根”的$event
或者更准确地说MouseEvent
(用于点击情况为例)和两种方法preventDefault()
和stopPropagation()
已妥善称为测试?
以及如何触发此方法,包括适当的$event
?
我很难为此方法定义正确的测试用例。我试图spyOn
$event
,但它不能正常工作,因为找不到名称$event
我目前无法验证,但您可以尝试:spyOn(MouseEvent.prototype,'preventDefault');结合手动创建的MouseEvent。我用这个自定义DI测试。 – Markai
你有什么线索如何实现手动创建一个“正确”和相关的MouseEvent? – BlackHoleGalaxy
如果我正确地理解了你,你需要类似这样的东西:http://stackoverflow.com/questions/11529158/how-to-assert-a-spy-is-invoked-with-event-on-click-using-茉莉 – Markai