Use subtests for Combine tests (#18)
diff --git a/error_test.go b/error_test.go
index 7f3d125..053859b 100644
--- a/error_test.go
+++ b/error_test.go
@@ -61,8 +61,13 @@
func TestCombine(t *testing.T) {
tests := []struct {
- giveErrors []error
- wantError error
+ // Input
+ giveErrors []error
+
+ // Resulting error
+ wantError error
+
+ // %+v and %v string representations
wantMultiline string
wantSingleline string
}{
@@ -232,15 +237,25 @@
require.Equal(t, tt.wantError, err)
if tt.wantMultiline != "" {
- assert.Equal(t, tt.wantMultiline, fmt.Sprintf("%+v", err))
+ t.Run("Sprintf/multiline", func(t *testing.T) {
+ assert.Equal(t, tt.wantMultiline, fmt.Sprintf("%+v", err))
+ })
}
if tt.wantSingleline != "" {
- assert.Equal(t, tt.wantSingleline, err.Error())
+ t.Run("Sprintf/singleline", func(t *testing.T) {
+ assert.Equal(t, tt.wantSingleline, fmt.Sprintf("%v", err))
+ })
+
+ t.Run("Error()", func(t *testing.T) {
+ assert.Equal(t, tt.wantSingleline, err.Error())
+ })
+
if s, ok := err.(fmt.Stringer); ok {
- assert.Equal(t, tt.wantSingleline, s.String())
+ t.Run("String()", func(t *testing.T) {
+ assert.Equal(t, tt.wantSingleline, s.String())
+ })
}
- assert.Equal(t, tt.wantSingleline, fmt.Sprintf("%v", err))
}
})
}