從 go 1.18 開始,可以使用“go.work”檔案作為多模塊作業區保存檔案,相當于“go.mod”檔案。
我想知道如何在命令 go test 中使用定義的“go.work”檔案。
我嘗試了多種方法。當我列印 go.work 環境變數時,一切似乎都正常。
如何在“go.work”檔案上使用“go test”命令?
假設我有一個包含兩個子目錄的目錄,每個子目錄都有一個 go.mod 檔案和兩個 .go 源檔案(file.go 和 file_test.go),主目錄只有 go.work 檔案。
go test -v .\go.work--> 不可能
go test ".\ ..." --> 不能按規定作業,無法正確解決。
該標志build.experimentalWorkspaceModule設定為 false,因為不再需要它。go test all似乎可行,但我只想測驗我的包,而不是安裝的整個包。
我深入研究了整個檔案,找不到示例,因為它似乎是新的并且不經常使用,pkg.go.dev 不提供資訊。
也不在這里https://go.googlesource.com/tools/ /refs/heads/master/gopls/doc/workspace.md
uj5u.com熱心網友回復:
我不認為go.work可以用于此目的。作業區是模塊系統的一部分,主要用于(對您而言)更輕松地設定本地多模塊存盤庫。以下報價來自提案:
go.work 檔案指定了一組組成作業空間的本地模塊。在作業區模式下呼叫時,go 命令將始終選擇這些模塊和一組一致的依賴項。
而這個來自作業區教程:
go.work可以用來代替添加replace指令以跨多個模塊作業。
最后是官方檔案中的這個:
作業區是磁盤上的模塊集合,在運行最小版本選擇 (MVS) 時用作主要模塊。
一次運行幾個模塊的測驗套件與 go.work 的用例是正交的。為此,您仍然必須使用 shell 腳本(參見Running `go test` in parent directory of multiple go modules)或類似的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/520333.html
標籤:去去工作
