第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

不包含測(cè)試模塊的構(gòu)建

不包含測(cè)試模塊的構(gòu)建

Go
米琪卡哇伊 2022-08-01 17:33:32
我的項(xiàng)目具有以下結(jié)構(gòu):├── api│   ├── api.go│   ├── api_test.go│   ├── other_files...├── cmd│   └── main.go在cmd/main.go下,我有我的Go項(xiàng)目的入口點(diǎn)。由于我還在創(chuàng)建一些測(cè)試文件,因此我還有其他用于測(cè)試目的的類。My go.mod 是這樣的:require (    github.com/gorilla/mux v1.8.0    github.com/stretchr/testify v1.6.1          <-used for test    gotest.tools v2.2.0+incompatible            <-used for test     k8s.io/api v0.19.0    k8s.io/apimachinery v0.19.0    k8s.io/client-go v0.19.0)我的疑問(wèn)與構(gòu)建階段有關(guān):在執(zhí)行此操作時(shí),我是否只選擇代碼中使用的正確模塊及其所有引用,不包括用于測(cè)試類中列出的未使用模塊?go build ./cmd/main.gomain.gogo.mod是否有任何命令可以確保我只鏈接所需的模塊?我假設(shè)Go已經(jīng)優(yōu)化了這樣做,但我想確定這一點(diǎn)。ldd
查看完整描述

2 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

當(dāng) go 正常構(gòu)建軟件包時(shí)(或),它將忽略任何具有名稱模式的文件。這意味著僅從這些測(cè)試文件導(dǎo)入的任何包的目標(biāo)代碼都不會(huì)鏈接到可執(zhí)行文件中。go buildgo install*_test.go

因此,如果您只是小心不要從非測(cè)試代碼中導(dǎo)入測(cè)試包,那么您就很好。

如果您不確定,可以通過(guò)運(yùn)行以下命令來(lái)檢查“構(gòu)建列表”:

go list -m all

從模塊的根目錄開(kāi)始。這將列出為生成提供包的模塊集。


查看完整回答
反對(duì) 回復(fù) 2022-08-01
?
夢(mèng)里花落0921

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊

當(dāng)您運(yùn)行 時(shí),它將:go build

  • 檢查正在構(gòu)建的包中的語(yǔ)句import

  • 檢查每個(gè)導(dǎo)入的包中的語(yǔ)句import

  • ...依此類推,直到它找到所有傳遞依賴項(xiàng)。

  • 然后,對(duì)于要生成的每個(gè)包,它會(huì)檢查生成約束,并生成未排除的文件。 默認(rèn)情況下,文件是排除的,在生成測(cè)試時(shí)顯式包含它們。*_test.gogo test

這意味著:

  • 測(cè)試文件不會(huì)包含在非測(cè)試版本中,除非您顯式包含它們。

  • 完全不會(huì)包含未引用的包。

  • 其中的內(nèi)容與生成無(wú)關(guān):它僅用于依賴項(xiàng)管理,而不是編譯。go.mod


查看完整回答
反對(duì) 回復(fù) 2022-08-01
  • 2 回答
  • 0 關(guān)注
  • 217 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)