如果我有不同的包并且每個包都有一個測試文件 ( pkg_test.go),有沒有辦法確保它們按特定順序運行?先說pkg1_test.go先執行,然后再執行。我嘗試使用 go 頻道,但它似乎掛起。
1 回答

HUH函數
TA貢獻1836條經驗 獲得超4個贊
這并不明顯,考慮go test ./...
對所有包進行觸發器測試......但并行運行
go test -p 1
將按順序運行測試,但不一定按您需要的順序運行。
一個簡單的腳本調用go test
以正確的預期順序列出的包會更容易做到。
6 年后更新:最佳實踐是不依賴測試順序。
這么多問題 28592提倡添加-shuffle
和-shuffleseed
洗牌測試。
CL 310033提到:
此 CL 向測試包和
go test
命令添加了一個新標志,用于隨機化測試和基準測試的執行順序。這對于識別測試或基準測試函數之間不需要的依賴關系很有用。
該標志默認關閉。
如果
-shuffle
設置為,on
則系統時鐘將用作種子值。如果
-shuffle
設置為整數N
,N
則將用作種子值。在這兩種情況下,都會報告種子運行失敗,以便以后可以復制。
在提交 cbb3f09 中選擇了 Go 1.17(2021 年 8 月)。
請參閱“使用 Go 進行基準測試”。
- 1 回答
- 0 關注
- 222 瀏覽
添加回答
舉報
0/150
提交
取消