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

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

使用相同的包會污染編譯后的二進制文件嗎?

使用相同的包會污染編譯后的二進制文件嗎?

Go
喵喔喔 2023-06-01 17:00:13
長話短說:在包中編寫的測試最終會出現在最終導出的包中嗎?他們是否向編譯后的二進制文件添加任何垃圾或重量?更長的版本:假設我有一個fooGo 包:pkg/ ??foo/ ????bar.go ????bar_test.go我知道go 中的黑盒與白盒測試方法。簡短回顧一下,我可以:已經bar_test.go聲明了一個foo_test包,或者將它作為主foo包的一部分。方法 1 提供了更好的隔離,因為它允許專注于包的公共 API,因為它只訪問foo.?此外,當應用程序代碼使用 導入foo包時,僅編譯import "pkg/foo"包含主包的文件。foo那很好。[1]但是,在某些情況下,將測試放入foo是一種方便的折衷方案。我自己并不是特別喜歡它,但我可以在幾個代碼庫中看到它,并且我理解為什么有時它是必要的。我的問題是這些測試會發生什么。由于它們是包的一部分foo,當foo在某處導入時,我希望測試會一起進行?;蛘呔幾g器是否足夠聰明以剝離它們?[1] 這不是什么方法“更好”的問題。這并不重要。請不要評論“那種方法不是更好”。
查看完整描述

1 回答

?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

是的,Go 工具足夠聰明,不會將它們傳遞給編譯器。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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