簡介
問題所在
您希望為您的 Web UI 編寫可維護的測試。作為此目標的一部分,您希望您的測試避免包含您元件的實作細節,而是專注於使您的測試能夠給您預期的信心。作為其中一部分,您希望您的測試基礎在長期內是可維護的,因此對您元件的重構(實作上的變更而非功能上的變更)不會破壞您的測試並拖慢您和您的團隊的速度。
這個解決方案
DOM Testing Library
是一個非常輕量級的解決方案,用於測試 DOM 節點(無論是使用 JSDOM
模擬的,如 Jest 預設提供的,或是在瀏覽器中)。它提供的主要工具是以類似使用者在頁面上尋找元素的方式查詢 DOM 節點。透過這種方式,該程式庫有助於確保您的測試為您的 UI 程式碼提供信心。DOM Testing Library
的主要指導原則是
作為此目標的一部分,此程式庫提供的工具促進以與使用者相同的方式查詢 DOM。透過標籤文字尋找表單元素(就像使用者一樣),從文字尋找連結和按鈕(就像使用者一樣)等等。它還公開了一種建議的方式,透過 data-testid
尋找元素,作為文字內容和標籤沒有意義或不實用的元素的「逃生出口」。
這個程式庫鼓勵您的應用程式更易於存取,並讓您的測試更接近於使用者使用您元件的方式,這讓您的測試更能給您信心,確保您的應用程式在真實使用者使用時能夠正常運作。
這個程式庫不是什麼:
- 測試執行器或框架
- 特定於測試框架(雖然我們推薦 Jest 作為我們的偏好,但該程式庫可與任何框架搭配使用。請參閱不使用 Jest 的情況下使用)