From 309ebcc63966422b43ecd777bccbcd41742ecea0 Mon Sep 17 00:00:00 2001 From: ywb Date: Tue, 18 Apr 2023 16:05:26 +0800 Subject: [PATCH] fix: ref testcase, generate report failed (#1547) --- hrp/runner.go | 42 +++++++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/hrp/runner.go b/hrp/runner.go index d81a3022..374fc1be 100644 --- a/hrp/runner.go +++ b/hrp/runner.go @@ -524,17 +524,7 @@ func (r *SessionRunner) Start(givenVars map[string]interface{}) error { stepResult, err = step.Run(r) stepResult.Name = stepName + loopIndex - // update summary - r.summary.Records = append(r.summary.Records, stepResult) - } - - r.summary.Stat.Total += 1 - if stepResult.Success { - r.summary.Stat.Successes += 1 - } else { - r.summary.Stat.Failures += 1 - // update summary result to failed - r.summary.Success = false + r.updateSummary(stepResult) } // update extracted variables @@ -646,3 +636,33 @@ func (r *SessionRunner) GetSummary() (*TestCaseSummary, error) { return caseSummary, nil } + +// updateSummary updates summary of StepResult. +func (r *SessionRunner) updateSummary(stepResult *StepResult) { + switch stepResult.StepType { + case stepTypeTestCase: + // record requests of testcase step + if records, ok := stepResult.Data.([]*StepResult); ok { + for _, result := range records { + r.addSingleStepResult(result) + } + } else { + r.addSingleStepResult(stepResult) + } + default: + r.addSingleStepResult(stepResult) + } +} + +func (r *SessionRunner) addSingleStepResult(stepResult *StepResult) { + // update summary + r.summary.Records = append(r.summary.Records, stepResult) + r.summary.Stat.Total += 1 + if stepResult.Success { + r.summary.Stat.Successes += 1 + } else { + r.summary.Stat.Failures += 1 + // update summary result to failed + r.summary.Success = false + } +}