Documentation ¶
Overview ¶
Package zaptest provides a variety of helpers for testing log output.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewLogger ¶ added in v1.8.0
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()))
Types ¶
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 FailWriter ¶
type FailWriter = ztest.FailWriter
FailWriter is a WriteSyncer that always returns an error on writes.
type LoggerOption ¶ added in v1.8.0
type LoggerOption interface {
// contains filtered or unexported methods
}
LoggerOption configures the test logger built by NewLogger.
func Level ¶ added in v1.8.0
func Level(enab zapcore.LevelEnabler) LoggerOption
Level controls which messages are logged by a test Logger built by NewLogger.
func WrapOptions ¶ added in v1.10.0
func WrapOptions(zapOpts ...zap.Option) LoggerOption
WrapOptions adds zap.Option's to a test Logger built by NewLogger.
type ShortWriter ¶
type ShortWriter = ztest.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 TestingT ¶ added in v1.8.0
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() }
TestingT is a subset of the API provided by all *testing.T and *testing.B objects.
type TestingWriter ¶ added in v1.27.0
type TestingWriter struct {
// contains filtered or unexported fields
}
TestingWriter is a WriteSyncer that writes to the given testing.TB.
func NewTestingWriter ¶ added in v1.27.0
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 ¶ added in v1.27.0
func (w TestingWriter) Sync() error
Sync commits the current contents (a no-op for TestingWriter).
func (TestingWriter) WithMarkFailed ¶ added in v1.27.0
func (w TestingWriter) WithMarkFailed(v bool) TestingWriter
WithMarkFailed returns a copy of this TestingWriter with markFailed set to the provided value.