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

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

Golang中的測試命名約定

Golang中的測試命名約定

Go
Helenr 2021-05-21 18:06:11
我正在嘗試第一次對Go軟件包進行單元測試,并且在同一文件中有幾個錯誤。type FooErr inttype BarErr intfunc (e *FooErr) Error () string {    return "A Foo Error has occurred"}func (e *BarErr) Error () string {    return "A Bar Error has occurred"}但是,所有命名約定看起來都像這樣func TestXxx(*testing.T)(從testing軟件包文檔中)。這意味著我的測試文件將如下所示:func TestError (t *testing.T) { ... } // FooErrfunc TestError (t *testing.T) { ... } // BarErr這顯然是具有相同簽名的兩個功能。推薦的處理方法是什么?
查看完整描述

3 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

我將遵循測試包概述部分中記錄的示例函數的約定:


“聲明函數F,類型T和類型M上的方法M的示例的命名約定是:”


func ExampleF() { ... }

func ExampleT() { ... }

func ExampleT_M() { ... }

godoc需要示例函數的命名約定,但為了一致性,我將遵循相同的測試約定TestT_M。


查看完整回答
反對 回復 2021-05-31
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

您不需要使Xxx部分TestXxx與實際函數名稱匹配。為測試加上前綴的約定Test足以使go test命令使用它們。

就像Alex Lockwood在他的評論中說的那樣,您可以根據需要使用TestFooError和TestBarError。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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