attacher: organize unit tests into subtests

This commit is contained in:
tanjing2020 2021-02-19 16:30:30 +08:00
parent 0d8373ace2
commit 11df89c778

View File

@ -62,7 +62,7 @@ func TestGetVolumeName_PersistentVolume(t *testing.T) {
// One testcase for TestAttachDetach table test below // One testcase for TestAttachDetach table test below
type testcase struct { type testcase struct {
name aws.KubernetesVolumeID name string
// For fake AWS: // For fake AWS:
attach attachCall attach attachCall
detach detachCall detach detachCall
@ -128,15 +128,16 @@ func TestAttachDetach(t *testing.T) {
} }
for _, testcase := range tests { for _, testcase := range tests {
t.Run(testcase.name, func(t *testing.T) {
testcase.t = t testcase.t = t
device, err := testcase.test(&testcase) device, err := testcase.test(&testcase)
if err != testcase.expectedError { if err != testcase.expectedError {
t.Errorf("%s failed: expected err=%q, got %q", testcase.name, testcase.expectedError.Error(), err.Error()) t.Errorf("failed: expected err=%q, got %q", testcase.expectedError.Error(), err.Error())
} }
if device != testcase.expectedDevice { if device != testcase.expectedDevice {
t.Errorf("%s failed: expected device=%q, got %q", testcase.name, testcase.expectedDevice, device) t.Errorf("failed: expected device=%q, got %q", testcase.expectedDevice, device)
} }
t.Logf("Test %q succeeded", testcase.name) })
} }
} }