我正在嘗試第一次對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。

largeQ
TA貢獻2039條經驗 獲得超8個贊
您不需要使Xxx部分TestXxx
與實際函數名稱匹配。為測試加上前綴的約定Test
足以使go test
命令使用它們。
就像Alex Lockwood在他的評論中說的那樣,您可以根據需要使用TestFooError和TestBarError。
- 3 回答
- 0 關注
- 212 瀏覽
添加回答
舉報
0/150
提交
取消