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

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

僅運(yùn)行受最近更改影響的測(cè)試

僅運(yùn)行受最近更改影響的測(cè)試

Go
回首憶惘然 2023-08-07 10:37:59
有沒有辦法只執(zhí)行那些受 Go 最近更改影響的測(cè)試?我們有一個(gè)大型單元測(cè)試套件,現(xiàn)在開始需要一段時(shí)間才能完成。我們認(rèn)為我們只運(yùn)行那些受第一遍代碼更改影響的測(cè)試。Python有這樣的東西: https: //github.com/tarpas/pytest-testmonGo 有辦法做到這一點(diǎn)嗎?
查看完整描述

4 回答

?
拉風(fēng)的咖菲貓

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

go test在 Go 1.10 及更高版本中,會(huì)在包級(jí)別自動(dòng)執(zhí)行此操作;任何沒有更改的包將返回緩存的測(cè)試結(jié)果,而有更改的包將被重新測(cè)試。

如果單個(gè)包的測(cè)試仍然花費(fèi)太長(zhǎng)時(shí)間,則表明您的測(cè)試存在問題;Go 中的良好測(cè)試通常執(zhí)行得非???,這意味著您可能需要檢查測(cè)試本身,并執(zhí)行以下操作的組合:

  • 使用構(gòu)建標(biāo)簽隔離集成測(cè)試。訪問外部資源的測(cè)試往往會(huì)比較慢,因此將它們?cè)O(shè)置為可選將有助于加快您只需要單元測(cè)試結(jié)果的運(yùn)行速度。

  • 利用簡(jiǎn)短的測(cè)試,以便您可以選擇更頻繁地進(jìn)行快速通過。

  • 檢查您的單元測(cè)試 - 您是否有不必要的測(cè)試或測(cè)試用例?您的測(cè)試是否過于復(fù)雜?您是否正在閱讀可以保存為常量的黃金文件?當(dāng)您可以通過編程方式創(chuàng)建對(duì)象時(shí),是否將靜態(tài) JSON 反序列化為對(duì)象?

  • 優(yōu)化您的單元測(cè)試。測(cè)試仍然是代碼,性能不佳的代碼可以進(jìn)行性能優(yōu)化。在單元測(cè)試中有很多情況下,我們很樂意選擇便利而不是性能,但如果性能是一個(gè)問題,則必須重新考慮該選擇。

  • 檢查您的測(cè)試執(zhí)行 - 您是否使用了不可緩存的參數(shù)來go test阻止其緩存結(jié)果?您是否出于習(xí)慣而在不必要的情況下使用競(jìng)爭(zhēng)檢測(cè)器、分析器或代碼覆蓋率報(bào)告?


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
慕姐4208626

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

不,Go 中沒有辦法做到這一點(diǎn)。您所能做的就是將代碼拆分為多個(gè)包并一次測(cè)試一個(gè)包

go test some/thing

而不是他們?nèi)?/p>

go test ./...


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
揚(yáng)帆大魚

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

他們的 README.md 中的示例是

export CMDLINE="go test"

export PKGS="./..." # IMPORTANT make sure packages are written SEPERATLY

nabaz test --cmdline $CMDLINE --pkgs $PKGS .


查看完整回答
反對(duì) 回復(fù) 2023-08-07
?
慕的地6264312

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

你可以使用make. 如果測(cè)試文件沒有更改,它不會(huì)再次重新運(yùn)行測(cè)試。


make: `test' is up to date.


這就是您可以編寫Makefile 的方法。


# To run commands just use "make" and make function name

# ex- <make run> use for run go run main.go

# Go parameters

execution: echo "** Executing Makefile**"

GOCMD=go


GOINSTALL=$(GOCMD) install

GOBUILD=$(GOCMD) build

GOCLEAN=$(GOCMD) clean

GOTEST=$(GOCMD) test

GOGET=$(GOCMD) get

GORUN=$(GOCMD) run

BINARY_NAME=reservations

BINARY_UNIX=$(BINARY_NAME)_unix


execute:

    - echo "Running the build - reservations"

    - ~/go/bin/reservations-backend


install:

    - echo "Building the module"

    # will create a executable file at $GOPATH

    - $(GOINSTALL)


run:

    - @echo "Running the application - reservations"

    - $(GORUN) $(BINARY_NAME)


#NOTE: @ before a command will stop showing that command.

test:

    - @echo "** Running Tests **"

    - $(GOTEST) -race ./test -v


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

添加回答

舉報(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)