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

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

從根項(xiàng)目文件夾運(yùn)行 go 測試

從根項(xiàng)目文件夾運(yùn)行 go 測試

白衣非少年 2022-01-04 20:58:48
我必須從同事那里接手一個(gè)圍棋項(xiàng)目,我以前從未接觸過圍棋,它沒有測試,所以我開始添加它們但我無法運(yùn)行它們。用于運(yùn)行測試的 go 命令是go test但它似乎不在根級別運(yùn)行。我的項(xiàng)目結(jié)構(gòu)是:/project/main.go/project/engine/*.go/project/api/*.go如果我cd進(jìn)入engine或api,并運(yùn)行g(shù)o test它可以工作但不在根文件夾中。cd /projectgo test ?      /project    [no test files]反正有沒有從根運(yùn)行所有測試?
查看完整描述

3 回答

?
牧羊人nacy

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

您可以使用...省略號)運(yùn)算符來測試當(dāng)前包的所有子包。像這樣:go test ./...。

如果您做一些更復(fù)雜的事情,例如使用該list工具,您可能想稍后嘗試其他解決方案。這樣的(例如)go test $(go list ./... | grep [regex])。這對于vendor從測試中排除目錄很有用。

您可能想知道的另一件事是gt可以在此處找到的命令https://godoc.org/rsc.io/gt并將緩存添加到go test命令中。

最后,請不要猶豫,閱讀https://blog.golang.org/cover以獲取有關(guān) golang 代碼覆蓋率分析的信息。


查看完整回答
反對 回復(fù) 2022-01-04
?
holdtom

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

我覺得這很煩人,go test ./...當(dāng)從項(xiàng)目根目錄運(yùn)行時(shí),實(shí)際上會(huì)從pkg/pkg_name/文件夾運(yùn)行。有一種方法可以通過cwd在init()helper 函數(shù)中設(shè)置來將測試設(shè)置為項(xiàng)目根。


我在這里找到了解決方案您可以在 _file 中嘗試以下代碼段:


func init() {

    _, filename, _, _ := runtime.Caller(0)

    dir := path.Join(path.Dir(filename), "../..") // change to suit test file location

    err := os.Chdir(dir)

    if err != nil {

        panic(err)

    }

}

上面的這段代碼適用于我在pkg/$name/$name_test.go.


查看完整回答
反對 回復(fù) 2022-01-04
?
慕斯王

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

只是運(yùn)行sudo go test -v ./...可能會(huì)失敗,因?yàn)槟赡軟]有為 GO 設(shè)置根環(huán)境,就像您設(shè)置非根環(huán)境一樣。

您可以重置根目錄中的所有內(nèi)容,或者執(zhí)行以下簡單步驟:

sudo -E go test -v ./...

這將以 root 身份運(yùn)行,但保留您的 env 設(shè)置。


查看完整回答
反對 回復(fù) 2022-01-04
  • 3 回答
  • 0 關(guān)注
  • 285 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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