1 回答

TA貢獻1851條經(jīng)驗 獲得超5個贊
如果您考慮可維護性和簡潔的代碼,恕我直言,我建議您在不同的測試中測試每個 CRUD 功能。
關于您關于多個測試用例的問題,我想說一個好的方法是使用 DDT(數(shù)據(jù)驅(qū)動測試或表驅(qū)動測試)。就像是:
func Test_create(t *testing.T) {
? ? type args struct {
? ? ? ? // Define here your function arguments
? ? ? ? arg1 string,
? ? ? ? arg2 string,
? ? }
? ? tests := []struct {
? ? ? ? name string
? ? ? ? args args
? ? ? ? want bool // Your possible function output
? ? }{
? ? // TODO: Add test cases.
? ? }
? ? for _, tt := range tests {
? ? ? ? t.Run(tt.name, func(t *testing.T) {
? ? ? ? ? ? if got := create(tt.args.id); got != tt.want {
? ? ? ? ? ? ? ? t.Errorf("create() = %v, want %v", got, tt.want)
? ? ? ? ? ? }
? ? ? ? })
? ? }
}
使用gotests,您可以為您的函數(shù)生成干凈且良好的測試。
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報