Skip to content

Commit a54d561

Browse files
authored
Update required error message (#144)
1 parent 3b3b803 commit a54d561

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

aconfig.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,13 +270,11 @@ func (l *Loader) checkRequired() error {
270270
missedFields = append(missedFields, field.name)
271271
}
272272
}
273+
273274
if len(missedFields) == 0 {
274275
return nil
275276
}
276-
if len(missedFields) == 1 {
277-
return fmt.Errorf("field %s is required but not set", missedFields[0])
278-
}
279-
return fmt.Errorf("fields %s are required but not set", strings.Join(missedFields, ","))
277+
return fmt.Errorf("fields required but not set: %s", strings.Join(missedFields, ","))
280278
}
281279

282280
func (l *Loader) loadDefaults() error {

aconfig_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,12 +1096,13 @@ func TestMissingFieldWithRequiredTag(t *testing.T) {
10961096
})
10971097

10981098
err := loader.Load()
1099+
want := "load config: fields required but not set: Field1"
10991100

1100-
want := "load config: field Field1 is required but not set"
1101-
if err.Error() != want {
1101+
if have := err.Error(); have != want {
11021102
t.Fatalf("got %v, want %v", err, want)
11031103
}
11041104
}
1105+
11051106
func TestMissingFieldsWithRequiredTag(t *testing.T) {
11061107
cfg := struct {
11071108
Field1 string `required:"true"`
@@ -1112,9 +1113,9 @@ func TestMissingFieldsWithRequiredTag(t *testing.T) {
11121113
})
11131114

11141115
err := loader.Load()
1116+
want := "load config: fields required but not set: Field1,Field2"
11151117

1116-
want := "load config: fields Field1,Field2 are required but not set"
1117-
if err.Error() != want {
1118+
if have := err.Error(); have != want {
11181119
t.Fatalf("got %v, want %v", err, want)
11191120
}
11201121
}

0 commit comments

Comments
 (0)