testcase

package
v0.0.0-...-c6ea6ab Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2021 License: LGPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Case

type Case interface {
	Name() string
	Depends() []Case
	Setup(c Context, t Case) (value interface{})
	TearDown(c Context, t Case, value interface{})
}

Case define test case info

type CaseBuilder

type CaseBuilder interface {
	Case

	SetDepends(depends ...Case) CaseBuilder
	SetTearDown(teardown TearDownFunc) CaseBuilder
}

CaseBuilder is a helper for setup test case

func NewCase

func NewCase(
	name string,
	setup SetupFunc,
) CaseBuilder

NewCase create test case instance

type CaseType

type CaseType struct {
	// contains filtered or unexported fields
}

CaseType implement Case

func (*CaseType) Depends

func (t *CaseType) Depends() []Case

Depends list all dependency of test case

func (*CaseType) Name

func (t *CaseType) Name() string

Name of test case

func (*CaseType) SetDepends

func (t *CaseType) SetDepends(depends ...Case) CaseBuilder

SetDepends set depends

func (*CaseType) SetTearDown

func (t *CaseType) SetTearDown(teardown TearDownFunc) CaseBuilder

SetTearDown set teardown

func (*CaseType) Setup

func (t *CaseType) Setup(c Context, testcase Case) (value interface{})

Setup of test case

func (*CaseType) TearDown

func (t *CaseType) TearDown(c Context, testcase Case, value interface{})

TearDown of test case

type Context

type Context interface {
	T() *testing.T
	Regist(testcase Case) Case
	Get(name string) interface{}
	StartTest(test *testing.T)
}

Context is context for running test case

func NewContext

func NewContext(logger logutil.LevelLogger) Context

NewContext create Context

type ContextType

type ContextType struct {
	QueueType
	// contains filtered or unexported fields
}

ContextType implement Context

func (*ContextType) Regist

func (t *ContextType) Regist(testcase Case) Case

Regist a test case

func (*ContextType) StartTest

func (t *ContextType) StartTest(test *testing.T)

StartTest start all registed testcase

func (ContextType) T

func (t ContextType) T() *testing.T

T return *testing.T injected by StartTest

type Queue

type Queue interface {
	Get(name string) interface{}
	Set(name string, provider interface{})
	Remove(name string)
	IsExists(name string) bool
	Last() interface{}
	Shift() interface{}
	Walk(callback func(name string, element interface{}) (stop bool))
	Keys() []string
	Len() int
}

Queue is a data struct support map and slice feature

type QueueType

type QueueType struct {
	// contains filtered or unexported fields
}

QueueType implement Queue

func (*QueueType) Get

func (t *QueueType) Get(name string) interface{}

Get return value by key

func (*QueueType) IsExists

func (t *QueueType) IsExists(name string) bool

IsExists return true if name exists in map

func (*QueueType) Keys

func (t *QueueType) Keys() []string

Keys return all keys

func (*QueueType) Last

func (t *QueueType) Last() interface{}

Last return last element, return nil if len == 0

func (*QueueType) Len

func (t *QueueType) Len() int

Len length of map

func (*QueueType) Remove

func (t *QueueType) Remove(name string)

Remove key from map

func (*QueueType) Set

func (t *QueueType) Set(name string, provider interface{})

Set value to map by key

func (*QueueType) Shift

func (t *QueueType) Shift() interface{}

Shift an element, return nil if len == 0

func (*QueueType) Walk

func (t *QueueType) Walk(callback func(name string, element interface{}) (stop bool))

Walk all data for callback

type SetupFunc

type SetupFunc func(c Context, t Case) (value interface{})

SetupFunc define testcase setup function type

type TearDownFunc

type TearDownFunc func(c Context, t Case, value interface{})

TearDownFunc define testcase teardown function type

Jump to

Keyboard shortcuts

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