亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 go 框架中為不同的測試強制執行測試順序?

如何在 go 框架中為不同的測試強制執行測試順序?

Go
牛魔王的故事 2021-09-27 10:52:00
如果我有不同的包并且每個包都有一個測試文件 ( 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 進行基準測試”。


查看完整回答
反對 回復 2021-09-27
  • 1 回答
  • 0 關注
  • 222 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號