長話短說:在包中編寫的測試最終會出現在最終導出的包中嗎?他們是否向編譯后的二進制文件添加任何垃圾或重量?更長的版本:假設我有一個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 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消