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

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

無法從 GoLand 運行 go 測試(Intellij Idea):編譯失敗

無法從 GoLand 運行 go 測試(Intellij Idea):編譯失敗

Go
小怪獸愛吃肉 2022-05-18 13:45:03
我在 go 中制作了簡單的應用程序,并嘗試使用 GoLand 的 GUI 工具運行測試。在 test func 附近的 myfile_test.go 文件中,我按下應該開始測試的綠色按鈕。但我收到錯誤消息:“編譯失敗”和控制臺中的消息:# command-line-arguments [command-line-arguments.test]./myfile_test.go:21:11: undefined: MyStruct./myfile_test.go:22:12: undefined: MyFuncName./myfile_test.go:33:12: undefined: AnotherStructCompilation finished with exit code 2其他變體(使用覆蓋率/CPU 配置文件運行測試)也不起作用。GoLand 2020.1 EAP。在舊版本的 GoLand 中也出現了同樣的問題。但從控制臺測試正常啟動:go test -v=== RUN   TestMyStruct_MyMethod--- PASS: TestMyStruct_MyMethod (0.00s)PASSok      _/home/username/projects/my_project_name     0.002s
查看完整描述

3 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

基本上,您需要在 GoLand 中的“Preferences”->“Go”->“Go Modules”下勾選“Enable Go Modules integration”

然后,Goland 將重新索引您的項目,如果您有一個包含許多模塊的大型項目,這可能需要很長時間。我的花了30分鐘。您可以在 IDE 底部查看重新索引的進度狀態。

測試運行將在重新索引后工作。


查看完整回答
反對 回復 2022-05-18
?
哆啦的時光機

TA貢獻1779條經驗 獲得超6個贊

我解決了初始化新 go 模塊和啟用 Go Modules 集成的問題:

1) 在終端中運行go mod init my_module_name

2)點擊“文件->設置”或按Ctrl+Alt+S

3)選中“啟用 Go 模塊集成”并應用按鈕

http://img1.sycdn.imooc.com//628488020001726f09890724.jpg

現在 GoLand 中的所有測試功能都運行良好(包括覆蓋測試等)



查看完整回答
反對 回復 2022-05-18
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

這里的問題是你指向一個文件。所有其他文件,即使它們在包中,也不會被導入。go build具有相同的行為,如果您要構建單個文件并且忘記在命令中包含它使用的其他文件。

將測試類型更改為“目錄”,將文件更改為"/project-root-dir". 然后,這將在構建期間包含目錄中的所有文件,并應查找所有_test.go文件以執行測試。


查看完整回答
反對 回復 2022-05-18
  • 3 回答
  • 0 關注
  • 425 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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