...

Package zaptest

import "go.uber.org/zap/zaptest"
Overview
Index
Subdirectories

Overview ▾

Package zaptest provides a variety of helpers for testing log output.

func NewLogger

func NewLogger(t TestingT, opts ...LoggerOption) *zap.Logger

NewLogger builds a new Logger that logs all messages to the given testing.TB.

logger := zaptest.NewLogger(t)

Use this with a *testing.T or *testing.B to get logs which get printed only if a test fails or if you ran go test -v.

The returned logger defaults to logging debug level messages and above. This may be changed by passing a zaptest.Level during construction.

logger := zaptest.NewLogger(t, zaptest.Level(zap.WarnLevel))

You may also pass zap.Option's to customize test logger.

logger := zaptest.NewLogger(t, zaptest.WrapOptions(zap.AddCaller()))

func Sleep

func Sleep(base time.Duration)

Sleep scales the sleep duration by $TEST_TIMEOUT_SCALE.

Deprecated: This function is intended for internal testing and shouldn't be used outside zap itself. It was introduced before Go supported internal packages.

func Timeout

func Timeout(base time.Duration) time.Duration

Timeout scales the provided duration by $TEST_TIMEOUT_SCALE.

Deprecated: This function is intended for internal testing and shouldn't be used outside zap itself. It was introduced before Go supported internal packages.

type Buffer

Buffer is an implementation of zapcore.WriteSyncer that sends all writes to a bytes.Buffer. It has convenience methods to split the accumulated buffer on newlines.

type Buffer = ztest.Buffer

type Discarder

A Discarder sends all writes to io.Discard.

type Discarder = ztest.Discarder

type FailWriter

FailWriter is a WriteSyncer that always returns an error on writes.

type FailWriter = ztest.FailWriter

type LoggerOption

LoggerOption configures the test logger built by NewLogger.

type LoggerOption interface {
    // contains filtered or unexported methods
}

func Level

func Level(enab zapcore.LevelEnabler) LoggerOption

Level controls which messages are logged by a test Logger built by NewLogger.

func WrapOptions

func WrapOptions(zapOpts ...zap.Option) LoggerOption

WrapOptions adds zap.Option's to a test Logger built by NewLogger.

type ShortWriter

ShortWriter is a WriteSyncer whose write method never returns an error, but always reports that it wrote one byte less than the input slice's length (thus, a "short write").

type ShortWriter = ztest.ShortWriter

type Syncer

A Syncer is a spy for the Sync portion of zapcore.WriteSyncer.

type Syncer = ztest.Syncer

type TestingT

TestingT is a subset of the API provided by all *testing.T and *testing.B objects.

type TestingT interface {
    // Logs the given message without failing the test.
    Logf(string, ...interface{})

    // Logs the given message and marks the test as failed.
    Errorf(string, ...interface{})

    // Marks the test as failed.
    Fail()

    // Returns true if the test has been marked as failed.
    Failed() bool

    // Returns the name of the test.
    Name() string

    // Marks the test as failed and stops execution of that test.
    FailNow()
}

type TestingWriter

TestingWriter is a WriteSyncer that writes to the given testing.TB.

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

func NewTestingWriter

func NewTestingWriter(t TestingT) TestingWriter

NewTestingWriter builds a new TestingWriter that writes to the given testing.TB.

Use this if you need more flexibility when creating *zap.Logger than zaptest.NewLogger() provides.

E.g., if you want to use custom core with zaptest.TestingWriter:

encoder := newCustomEncoder()
writer := zaptest.NewTestingWriter(t)
level := zap.NewAtomicLevelAt(zapcore.DebugLevel)

core := newCustomCore(encoder, writer, level)

logger := zap.New(core, zap.AddCaller())

func (TestingWriter) Sync

func (w TestingWriter) Sync() error

Sync commits the current contents (a no-op for TestingWriter).

func (TestingWriter) WithMarkFailed

func (w TestingWriter) WithMarkFailed(v bool) TestingWriter

WithMarkFailed returns a copy of this TestingWriter with markFailed set to the provided value.

func (TestingWriter) Write

func (w TestingWriter) Write(p []byte) (n int, err error)

Write writes bytes from p to the underlying testing.TB.

Subdirectories

Name Synopsis
..
observer Package observer provides a zapcore.Core that keeps an in-memory, encoding-agnostic representation of log entries.