runner

package
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2023 License: MIT Imports: 22 Imported by: 1

Documentation

Overview

Package runner responsible for excute the test case

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type FormatPrinter added in v0.0.9

type FormatPrinter interface {
	Fprintf(w io.Writer, level, format string, a ...any) (n int, err error)
}

FormatPrinter represents a formart printer with level

type LevelWriter added in v0.0.9

type LevelWriter interface {
	Info(format string, a ...any)
	Debug(format string, a ...any)
}

LevelWriter represents a writer with level

func NewDefaultLevelWriter added in v0.0.9

func NewDefaultLevelWriter(level string, writer io.Writer) LevelWriter

NewDefaultLevelWriter creates a default LevelWriter instance

type ReportRecord added in v0.0.4

type ReportRecord struct {
	Method    string
	API       string
	Body      string
	BeginTime time.Time
	EndTime   time.Time
	Error     error
}

ReportRecord represents the raw data of a HTTP request

func NewReportRecord added in v0.0.4

func NewReportRecord() *ReportRecord

NewReportRecord creates a record, and set the begin time to be now

func (*ReportRecord) Duration added in v0.0.4

func (r *ReportRecord) Duration() time.Duration

Duration returns the duration between begin and end time

func (*ReportRecord) ErrorCount added in v0.0.4

func (r *ReportRecord) ErrorCount() int

ErrorCount returns the count number of errors

type ReportResult added in v0.0.4

type ReportResult struct {
	API     string
	Count   int
	Average time.Duration
	Max     time.Duration
	Min     time.Duration
	QPS     int
	Error   int
}

ReportResult represents the report result of a set of the same API requests

type ReportResultSlice added in v0.0.4

type ReportResultSlice []ReportResult

ReportResultSlice is the alias type of ReportResult slice

func (ReportResultSlice) Len added in v0.0.4

func (r ReportResultSlice) Len() int

Len returns the count of slice items

func (ReportResultSlice) Less added in v0.0.4

func (r ReportResultSlice) Less(i, j int) bool

Less returns if i bigger than j

func (ReportResultSlice) Swap added in v0.0.4

func (r ReportResultSlice) Swap(i, j int)

Swap swaps the items

type ReportResultWithTotal added in v0.0.4

type ReportResultWithTotal struct {
	ReportResult
	Total time.Duration
	First time.Time
	Last  time.Time
}

ReportResultWithTotal holds the total duration base on ReportResult

type ReportResultWriter added in v0.0.4

type ReportResultWriter interface {
	Output([]ReportResult) error
}

ReportResultWriter is the interface of the report writer

func NewDiscardResultWriter added in v0.0.4

func NewDiscardResultWriter() ReportResultWriter

NewDiscardResultWriter creates a report result writer which discard everything

func NewMarkdownResultWriter added in v0.0.4

func NewMarkdownResultWriter(writer io.Writer) ReportResultWriter

NewMarkdownResultWriter creates the Markdown writer

func NewResultWriter added in v0.0.4

func NewResultWriter(writer io.Writer) ReportResultWriter

NewResultWriter creates a result writer with the specific io.Writer

type TestCaseRunner added in v0.0.4

type TestCaseRunner interface {
	RunTestCase(testcase *testing.TestCase, dataContext interface{}, ctx context.Context) (output interface{}, err error)
	WithOutputWriter(io.Writer) TestCaseRunner
	WithWriteLevel(level string) TestCaseRunner
	WithTestReporter(TestReporter) TestCaseRunner
	WithExecer(fakeruntime.Execer) TestCaseRunner
}

TestCaseRunner represents a test case runner

func NewSimpleTestCaseRunner added in v0.0.4

func NewSimpleTestCaseRunner() TestCaseRunner

NewSimpleTestCaseRunner creates the instance of the simple test case runner

type TestReporter added in v0.0.4

type TestReporter interface {
	PutRecord(*ReportRecord)
	GetAllRecords() []*ReportRecord
	ExportAllReportResults() (ReportResultSlice, error)
}

TestReporter is the interface of the report

func NewDiscardTestReporter added in v0.0.4

func NewDiscardTestReporter() TestReporter

NewDiscardTestReporter creates a test reporter which discard everything

func NewMemoryTestReporter added in v0.0.5

func NewMemoryTestReporter() TestReporter

NewMemoryTestReporter creates a memory based test reporter

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL