避免共享狀態

雖然在多處提到,但仍值得再次強調。我們必須確保測試彼此隔離。

  • 不要共享測試資料。想像一下,多個測試各自查詢資料庫以取得有效訂單,然後選擇一個訂單來執行操作。如果兩個測試選取了相同的訂單,您可能會得到意想不到的行為。

  • 清除應用程式中可能被另一個測試選取的過時資料,例如無效的訂單記錄。

  • 每個測試建立一個新的 WebDriver 實例。這有助於確保測試隔離,並使平行化更簡單。

    • 如果您選擇 pytest 作為您的測試執行器,這可以透過在全域 fixture 中產生您的 driver 輕鬆完成。這樣,每個測試都會獲得自己的 driver 實例,並且您可以確保 driver 總是在測試完成後退出(通過或失敗)。