From 3f3b965b4755eea4e22bf7ad2c5b991182779b1e Mon Sep 17 00:00:00 2001 From: debugtalk Date: Wed, 22 Sep 2021 20:12:33 +0800 Subject: [PATCH] refactor: Run with config --- boomer.go | 3 ++- extract.go | 2 +- models.go | 2 +- runner.go | 4 ++-- step.go | 5 +++-- step_test.go | 5 +++-- validate.go | 2 +- 7 files changed, 13 insertions(+), 10 deletions(-) diff --git a/boomer.go b/boomer.go index 0161a008..c2b600c5 100644 --- a/boomer.go +++ b/boomer.go @@ -33,9 +33,10 @@ func convertBoomerTask(testcase *TestCase) *boomer.Task { Name: testcase.Config.Name, Weight: testcase.Config.Weight, Fn: func() { + config := &testcase.Config for _, step := range testcase.TestSteps { start := time.Now() - err := step.Run() + err := step.Run(config) elapsed := time.Since(start).Nanoseconds() / int64(time.Millisecond) if err == nil { diff --git a/extract.go b/extract.go index aff300be..a63cf64d 100644 --- a/extract.go +++ b/extract.go @@ -27,6 +27,6 @@ func (s *stepRequestExtraction) Type() string { return fmt.Sprintf("request-%v", s.step.Request.Method) } -func (s *stepRequestExtraction) Run() error { +func (s *stepRequestExtraction) Run(config *TConfig) error { return s.runner.runStep(s.step) } diff --git a/models.go b/models.go index 8dc7b8b4..f96b6f40 100644 --- a/models.go +++ b/models.go @@ -58,7 +58,7 @@ type TStep struct { type IStep interface { Name() string Type() string - Run() error + Run(config *TConfig) error } type TestCase struct { diff --git a/runner.go b/runner.go index 7872c1df..a5efa4f0 100644 --- a/runner.go +++ b/runner.go @@ -32,9 +32,9 @@ func (r *Runner) Run(testcases ...*TestCase) error { } func (r *Runner) runCase(testcase *TestCase) error { - // config := testcase.Config + config := &testcase.Config for _, step := range testcase.TestSteps { - if err := step.Run(); err != nil { + if err := step.Run(config); err != nil { return err } } diff --git a/step.go b/step.go index 56d0bddf..ca9875ca 100644 --- a/step.go +++ b/step.go @@ -15,6 +15,7 @@ func Step(name string) *step { type step struct { runner *Runner + config *TConfig *TStep } @@ -188,7 +189,7 @@ func (s *requestWithOptionalArgs) Type() string { return fmt.Sprintf("request-%v", s.step.Request.Method) } -func (s *requestWithOptionalArgs) Run() error { +func (s *requestWithOptionalArgs) Run(config *TConfig) error { return s.runner.runStep(s.step) } @@ -216,6 +217,6 @@ func (s *testcaseWithOptionalArgs) Type() string { return "testcase" } -func (s *testcaseWithOptionalArgs) Run() error { +func (s *testcaseWithOptionalArgs) Run(config *TConfig) error { return s.runner.runCase(s.step.TestCase) } diff --git a/step_test.go b/step_test.go index 1cfc6b4e..76b40807 100644 --- a/step_test.go +++ b/step_test.go @@ -70,10 +70,11 @@ func TestRunRequestPostDataToStruct(t *testing.T) { } func TestRunRequestRun(t *testing.T) { - if err := stepGET.Run(); err != nil { + config := &TConfig{} + if err := stepGET.Run(config); err != nil { t.Fatalf("tStep.Run() error: %s", err) } - if err := stepPOSTData.Run(); err != nil { + if err := stepPOSTData.Run(config); err != nil { t.Fatalf("tStepPOSTData.Run() error: %s", err) } } diff --git a/validate.go b/validate.go index 9b68ade4..b27fab7a 100644 --- a/validate.go +++ b/validate.go @@ -27,6 +27,6 @@ func (s *stepRequestValidation) Type() string { return fmt.Sprintf("request-%v", s.step.Request.Method) } -func (s *stepRequestValidation) Run() error { +func (s *stepRequestValidation) Run(config *TConfig) error { return s.runner.runStep(s.step) }