測試巢狀 Go 模組
使用多個 Go 模組時執行 go 測試可能具有挑戰性。使用 go test./... 的傳統方法將會失敗,並顯示錯誤,指示沒有符合的套件或沒有要測試的套件。
這是因為 go test 被設計為在單一模組上工作,而不是多個模組。要測試嵌套模組,需要採用不同的方法。
一種解決方案涉及使用 shell 技巧在每個模組中單獨執行 go test。例如,您可以使用find 搜尋包含go.mod 檔案的目錄,並在每個目錄中執行go test:
<code class="bash">find . -type d -name go.mod -exec go test {} +</code>
或者,您可以建立一個幫助程式腳本或Makefile 來迭代所需的內容目錄並相應地運行go test:
<code class="bash"># test.sh #!/bin/bash for dir in */; do if [ -f "$dir/go.mod" ]; then go test "$dir" fi done</code>
一些較大的項目可能會維護所有子模組的列表,並利用如上例中的腳本來促進測試。
透過採用這些技術,您可以有效地從父目錄跨多個巢狀 Go 模組執行測試。
以上是以下是一些標題選項,請記住問題格式和文章的重點是測試嵌套的 Go 模組: 選項 1(直接且簡潔): 如何有效測試嵌套的 Go 模組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!