- 測試資料和測試程式碼邏輯混在一起
- 出錯資訊不明確
- 一旦一個資料出錯測試全部結束
tests :=[]struct{
a , b , c int32
}{
{1,2,3},
{0,2,2},
{match.MaxInt32,1,math.MinInt32},
}
for _, test := range tests {
if actual :=add(test.a,test.b);actual!=test.c{
}
}
- 分離了測試資料和測試邏輯
- 明確的出錯資訊
- 可以部分失敗
tests :=[]struct{
a , b , c int32
}{
{1,2,3},
{0,2,2},
{match.MaxInt32,1,math.MinInt32},
}
for _, test := range tests {
if actual :=add(test.a,test.b);actual!=test.c{
}
}