func()

in pkg/output/printer.go [104:141]


func (p *printer) PrintResult(caseRes []*CaseResult) (passNum, failNum, skipNum int) {
	// Count the number of passed and failed.
	// If batchOutput is true, print the result of all cases in a batch.
	for _, cr := range caseRes {
		if !cr.Skip {
			if cr.Err == nil {
				passNum++
				if p.batchOutput {
					p.spinner.Success(cr.Msg)
				}
			} else {
				failNum++
				if p.batchOutput {
					p.spinner.Warning(cr.Msg)
					p.spinner.Fail(cr.Err.Error())
				}
			}
		} else {
			skipNum++
		}
	}

	// Print the summary.
	pterm.Info.Prefix = pterm.Prefix{
		Text:  "SUMMARY",
		Style: &pterm.ThemeDefault.InfoPrefixStyle,
	}
	pterm.Info.WithMessageStyle(&pterm.Style{pterm.FgGreen}).Println(fmt.Sprintf("%d passed", passNum))
	pterm.Info.Prefix = pterm.Prefix{
		Text:  "       ",
		Style: &pterm.ThemeDefault.InfoPrefixStyle,
	}
	pterm.Info.WithMessageStyle(&pterm.Style{pterm.FgLightRed}).Println(fmt.Sprintf("%d failed", failNum))
	pterm.Info.WithMessageStyle(&pterm.Style{pterm.FgYellow}).Println(fmt.Sprintf("%d skipped", skipNum))
	fmt.Println()

	return passNum, failNum, skipNum
}