feat: convertTestCase

This commit is contained in:
debugtalk
2021-10-09 20:41:00 +08:00
parent 5c555a389c
commit cc2a491453
2 changed files with 36 additions and 0 deletions

View File

@@ -102,3 +102,23 @@ func loadFromYAML(path string) (*TCase, error) {
err = yaml.Unmarshal(file, tc)
return tc, err
}
func convertTestCase(tc *TCase) (*TestCase, error) {
testCase := &TestCase{
Config: tc.Config,
}
for _, step := range tc.TestSteps {
if step.Request != nil {
testCase.TestSteps = append(testCase.TestSteps, &requestWithOptionalArgs{
step: step,
})
} else if step.TestCase != nil {
testCase.TestSteps = append(testCase.TestSteps, &testcaseWithOptionalArgs{
step: step,
})
} else {
log.Printf("[convertTestCase] unexpected step: %+v", step)
}
}
return testCase, nil
}

View File

@@ -96,3 +96,19 @@ func TestDumpAndLoadYAML(t *testing.T) {
t.Fail()
}
}
func TestLoadJSONAndRun(t *testing.T) {
jsonPath := "demo.json"
tc, err := loadFromJSON(jsonPath)
if !assert.NoError(t, err) {
t.Fail()
}
testcase, err := convertTestCase(tc)
if !assert.NoError(t, err) {
t.Fail()
}
err = Test(t, testcase)
if err != nil {
t.Fatalf("run testcase error: %v", err)
}
}