確保 Go 測試的順序執行
執行 go 測試時,您可能會在資料庫重設時遇到意外的測試失敗。這是因為測試執行順序無法保證,這意味著 GET 請求可能會在相應的在資料庫中建立資料的 POST 請求之前執行。
測試獨立性
測試應該相互獨立,不依賴執行順序。但是,在某些情況下,可能需要確保在執行測試函數之前執行某些任務。
設定選項
有多個選項在執行測試函數之前執行其他任務:
使用_test.go 檔案中的套件 init() 函數,該函數在測試執行開始之前執行一次。
TestMain 函數:實作一個TestMain() 函數,該函數首先被調用,並允許在調用M.Run() 執行測試之前進行設定
混合選項:組合以上選項以滿足您的特定需求。
解決方案根據您的情況,您應該使用套件 init() 或 TestMain() 函數來檢查資料庫是否已初始化。如果沒有,請插入必要的測試記錄以確保 GET 請求具有所需的可用資料。 子測驗從 Go 1.7 開始,您可以使用子檢定來定義測驗函數中子測驗的執行順序。這允許您控制執行特定測試的順序,從而在處理依賴關係方面提供更大的靈活性。以上是涉及到資料庫重置時,如何保證Go測試的順序執行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!