package types

import "github.com/onsi/gomega/types"

Index

Functions

func MatchMayChangeInTheFuture

func MatchMayChangeInTheFuture(matcher GomegaMatcher, value any) bool

Types

type Assertion

type Assertion interface {
	Should(matcher GomegaMatcher, optionalDescription ...any) bool
	ShouldNot(matcher GomegaMatcher, optionalDescription ...any) bool

	To(matcher GomegaMatcher, optionalDescription ...any) bool
	ToNot(matcher GomegaMatcher, optionalDescription ...any) bool
	NotTo(matcher GomegaMatcher, optionalDescription ...any) bool

	WithOffset(offset int) Assertion

	Error() Assertion
}

Assertions are returned by Ω and Expect and enable assertions against Gomega matchers

type AsyncAssertion

type AsyncAssertion interface {
	Should(matcher GomegaMatcher, optionalDescription ...any) bool
	ShouldNot(matcher GomegaMatcher, optionalDescription ...any) bool

	// equivalent to above
	To(matcher GomegaMatcher, optionalDescription ...any) bool
	ToNot(matcher GomegaMatcher, optionalDescription ...any) bool
	NotTo(matcher GomegaMatcher, optionalDescription ...any) bool

	WithOffset(offset int) AsyncAssertion
	WithTimeout(interval time.Duration) AsyncAssertion
	WithPolling(interval time.Duration) AsyncAssertion
	Within(timeout time.Duration) AsyncAssertion
	ProbeEvery(interval time.Duration) AsyncAssertion
	WithContext(ctx context.Context) AsyncAssertion
	WithArguments(argsToForward ...any) AsyncAssertion
	MustPassRepeatedly(count int) AsyncAssertion
}

AsyncAssertions are returned by Eventually and Consistently and enable matchers to be polled repeatedly to ensure they are eventually satisfied

type Gomega

type Gomega interface {
	Ω(actual any, extra ...any) Assertion
	Expect(actual any, extra ...any) Assertion
	ExpectWithOffset(offset int, actual any, extra ...any) Assertion

	Eventually(actualOrCtx any, args ...any) AsyncAssertion
	EventuallyWithOffset(offset int, actualOrCtx any, args ...any) AsyncAssertion

	Consistently(actualOrCtx any, args ...any) AsyncAssertion
	ConsistentlyWithOffset(offset int, actualOrCtx any, args ...any) AsyncAssertion

	SetDefaultEventuallyTimeout(time.Duration)
	SetDefaultEventuallyPollingInterval(time.Duration)
	SetDefaultConsistentlyDuration(time.Duration)
	SetDefaultConsistentlyPollingInterval(time.Duration)
	EnforceDefaultTimeoutsWhenUsingContexts()
	DisableDefaultTimeoutsWhenUsingContext()
}

Gomega represents an object that can perform synchronous and asynchronous assertions with Gomega matchers

type GomegaFailHandler

type GomegaFailHandler func(message string, callerSkip ...int)

type GomegaMatcher

type GomegaMatcher interface {
	Match(actual any) (success bool, err error)
	FailureMessage(actual any) (message string)
	NegatedFailureMessage(actual any) (message string)
}

All Gomega matchers must implement the GomegaMatcher interface

For details on writing custom matchers, check out: http://onsi.github.io/gomega/#adding-your-own-matchers

type GomegaTestingT

type GomegaTestingT interface {
	Helper()
	Fatalf(format string, args ...any)
}

A simple *testing.T interface wrapper

type OracleMatcher

type OracleMatcher interface {
	MatchMayChangeInTheFuture(actual any) bool
}

GomegaMatchers that also match the OracleMatcher interface can convey information about whether or not their result will change upon future attempts.

This allows `Eventually` and `Consistently` to short circuit if success becomes impossible.

For example, a process' exit code can never change. So, gexec's Exit matcher returns `true` for `MatchMayChangeInTheFuture` until the process exits, at which point it returns `false` forevermore.

Source Files

types.go

Version
v1.37.0 (latest)
Published
Apr 2, 2025
Platform
linux/amd64
Imports
2 packages
Last checked
1 hour ago

Tools for package owners.