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

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

如何編寫需要大量測試用例的 go 測試

如何編寫需要大量測試用例的 go 測試

Go
繁星coding 2023-03-29 16:11:09
假設我有一個包含大約 210000 個英文單詞的列表。我需要使用所有這些 210000 個單詞作為測試用例。我需要確保每次運行測試時都涵蓋該列表中的每個單詞。問題是:在我的測試中存儲這些詞的最佳做法是什么?我應該將所有這些單詞保存在一個切片中(切片會不會太大?),還是應該將這些單詞保存在一個外部文件中(如 words.txt)并在需要時逐行加載文件?
查看完整描述

1 回答

?
拉莫斯之舞

TA貢獻1820條經驗 獲得超10個贊

測試數據通常存儲在一個命名的目錄中testdata,以使其與其他源代碼或數據文件分開(請參閱命令中的文檔go help test)。該go工具會忽略該目錄中的內容。

無論如何,210,000 個單詞應該只占用個位數兆字節的 RAM,這并不多。只需要一個輔助函數在每次測試之前從文件中讀取單詞(可能緩存它們),或者定義一個TestMain()函數來讀取它們一次并將它們存儲在全局變量中以供隨后運行的測試訪問。

編輯testdata:關于最佳實踐,即使數據不大,有時也最好將測試數據存儲在其中。例如,有時我需要在測試用例中使用多個簡短的 JSON 片段,并且可能不止一次使用它們。將它們存儲在 的子目錄下的適當命名的文件中testdata比使用一堆 JSON 片段亂扔 Go 代碼更具可讀性。

輕微的性能損失在測試中通常不是問題。無論哪種方法使代碼更易于理解,都可能是“最佳實踐”。


查看完整回答
反對 回復 2023-03-29
  • 1 回答
  • 0 關注
  • 114 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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