mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-06 23:11:21 +08:00
feat: run referenced testcase
This commit is contained in:
15
runner.go
15
runner.go
@@ -36,9 +36,18 @@ func (r *Runner) runCase(testcase *TestCase) error {
|
|||||||
config := &testcase.Config
|
config := &testcase.Config
|
||||||
log.Printf("Start to run testcase: %v", config.Name)
|
log.Printf("Start to run testcase: %v", config.Name)
|
||||||
for _, step := range testcase.TestSteps {
|
for _, step := range testcase.TestSteps {
|
||||||
tStep := parseStep(step, config)
|
if tc, ok := step.(*testcaseWithOptionalArgs); ok {
|
||||||
if err := r.runStep(tStep); err != nil {
|
// run referenced testcase
|
||||||
return err
|
log.Printf("run referenced testcase: %v", tc.step.Name)
|
||||||
|
if err := r.runCase(tc.step.TestCase); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// run request
|
||||||
|
tStep := parseStep(step, config)
|
||||||
|
if err := r.runStep(tStep); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ func TestHttpRunner(t *testing.T) {
|
|||||||
Validate().
|
Validate().
|
||||||
AssertEqual("status_code", 200, "check status code").
|
AssertEqual("status_code", 200, "check status code").
|
||||||
AssertEqual("body.\"user-agent\"", "python-requests", "check User-Agent"),
|
AssertEqual("body.\"user-agent\"", "python-requests", "check User-Agent"),
|
||||||
Step("TestCase3").CallRefCase(&TestCase{}),
|
Step("TestCase3").CallRefCase(&TestCase{Config: TConfig{Name: "TestCase3"}}),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
testcase2 := &TestCase{
|
testcase2 := &TestCase{
|
||||||
|
|||||||
Reference in New Issue
Block a user