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

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

如何衡量 Golang 集成測(cè)試覆蓋率?

如何衡量 Golang 集成測(cè)試覆蓋率?

Go
慕的地6264312 2021-09-13 15:34:21
我正在嘗試使用go test -cover來(lái)衡量我正在構(gòu)建的服務(wù)的測(cè)試覆蓋率。它是一個(gè) REST API,我正在通過(guò)旋轉(zhuǎn)它來(lái)測(cè)試它,發(fā)出測(cè)試 HTTP 請(qǐng)求并查看 HTTP 響應(yīng)。這些測(cè)試不是服務(wù)包的一部分,go tool cover返回 0% 的測(cè)試覆蓋率。有沒(méi)有辦法獲得實(shí)際的測(cè)試覆蓋率?我希望在給定端點(diǎn)上進(jìn)行的最佳場(chǎng)景測(cè)試至少可以覆蓋 30-50% 的特定端點(diǎn)處理程序代碼,并通過(guò)添加更多常見(jiàn)錯(cuò)誤測(cè)試來(lái)進(jìn)一步改進(jìn)這一點(diǎn)。
查看完整描述

3 回答

?
慕容森

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

我被指向-coverpkg指令,它滿足我的需要——測(cè)量特定包中的測(cè)試覆蓋率,即使測(cè)試使用這個(gè)包而不是它的一部分。例如:


$ go test -cover -coverpkg mypackage ./src/api/...

ok      /api    0.190s  coverage: 50.8% of statements in mypackage

ok      /api/mypackage   0.022s  coverage: 0.7% of statements in mypackage

相比


$ go test -cover ./src/api/...

ok      /api    0.191s  coverage: 71.0% of statements

ok      /api/mypackage   0.023s  coverage: 0.7% of statements

在上面的示例中,我進(jìn)行了測(cè)試,main_test.go其中package main正在使用package mypackage. 我最感興趣的是 的覆蓋范圍,package mypackage因?yàn)樗?xiàng)目中 99% 的業(yè)務(wù)邏輯。


我對(duì) Go 很陌生,所以這很可能不是通過(guò)集成測(cè)試來(lái)衡量測(cè)試覆蓋率的最佳方式。


查看完整回答
反對(duì) 回復(fù) 2021-09-13
?
森林海

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

您可以以創(chuàng)建覆蓋 html 頁(yè)面的方式運(yùn)行 go test。像這樣:


go test -v -coverprofile cover.out ./...

go tool cover -html=cover.out -o cover.html

open cover.html


查看完整回答
反對(duì) 回復(fù) 2021-09-13
?
慕標(biāo)琳琳

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

據(jù)我所知,如果你想要覆蓋,你需要運(yùn)行g(shù)o test -cover.


但是,添加一個(gè)標(biāo)志很容易,您可以傳入該標(biāo)志以啟用這些額外的測(cè)試,因此您可以將它們作為測(cè)試套件的一部分,但不要正常運(yùn)行它們。


所以在你的 whatever_test.go


var integrationTest = flag.Bool("integration-test", false, "Run the integration tests")

然后在每個(gè)測(cè)試中做這樣的事情


func TestSomething(t *testing.T){

    if !*integrationTest {

        t.Skip("Not running integration test")

    }

    // Do some integration testing

}

然后運(yùn)行集成測(cè)試


go run -cover -integration-test


查看完整回答
反對(duì) 回復(fù) 2021-09-13
  • 3 回答
  • 0 關(guān)注
  • 250 瀏覽
慕課專欄
更多

添加回答

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