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