3

爲了開發的目的,我希望能夠暫時禁用Chrome中的「預期」例外行爲。例如,我有單元測試,創建有意拋出異常的對象的實現;當運行它們時,我不想暫停「已知」異常,而是暫停意外異常(例如,如果測試本身存在錯誤)。有沒有辦法從代碼中切換Chrome DevTools「暫停異常」按鈕?

有沒有簡單的方法來做到這一點?黑盒子的腳本並不是一個真正的選擇,因爲我想知道意外的例外情況(它顯然不起作用;請參閱Chrome dev tools pauses on exceptions in blackboxed script)。只有未捕獲的異常纔會暫停,因爲單元測試驅動程序最終會捕獲所有這些異常,所以它不會暫停。

有沒有一種方法可以使用JavaScript來切換選項,或者如果我願意編寫瀏覽器擴展(我已經完成了,但我不是專家),或者更好的方式來做到這一點,或者我不知道的另一種技術?

回答

0

不,沒有辦法通過JavaScript觸發該複選框。

通常,使用異常來控制程序流是一種不好的做法。 (例如,見why not use exceptions as regular flow of control?

如果你絕對需要有時不建造,使用Factory Methods,這可能會返回空值/錯誤的構造函數。

+0

謝謝。是的,我相信在這種情況下,異常是正確的用法 - 當錯誤的東西傳遞給API等時拋出新的TypeError(...),並且我想編寫測試來驗證TypeError當它應該被拋出時。所以我可能沒有選擇。 –

相關問題