...

Package testr

import "github.com/go-logr/logr/testr"
Overview
Index

Overview ▾

Package testr provides support for using logr in tests.

func New

func New(t *testing.T) logr.Logger

New returns a logr.Logger that prints through a testing.T object. Info logs are only enabled at V(0).

func NewWithInterface

func NewWithInterface(t TestingT, opts Options) logr.Logger

NewWithInterface returns a logr.Logger that prints through a TestingT object. In contrast to the simpler New, output formatting can be configured.

func NewWithOptions

func NewWithOptions(t *testing.T, opts Options) logr.Logger

NewWithOptions returns a logr.Logger that prints through a testing.T object. In contrast to the simpler New, output formatting can be configured.

type Options

Options carries parameters which influence the way logs are generated.

type Options struct {
    // LogTimestamp tells the logger to add a "ts" key to log
    // lines. This has some overhead, so some users might not want
    // it.
    LogTimestamp bool

    // Verbosity tells the logger which V logs to be write.
    // Higher values enable more logs.
    Verbosity int
}

type TestingT

TestingT is an interface wrapper around testing.T, testing.B and testing.F.

type TestingT interface {
    Helper()
    Log(args ...any)
}

type Underlier

Underlier exposes access to the underlying testing.T instance. Since callers only have a logr.Logger, they have to know which implementation is in use, so this interface is less of an abstraction and more of a way to test type conversion.

type Underlier interface {
    GetUnderlying() *testing.T
}

type UnderlierInterface

UnderlierInterface exposes access to the underlying TestingT instance. Since callers only have a logr.Logger, they have to know which implementation is in use, so this interface is less of an abstraction and more of a way to test type conversion.

type UnderlierInterface interface {
    GetUnderlying() TestingT
}