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(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(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.
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
A Discarder sends all writes to io.Discard.
type Discarder = ztest.Discarder
FailWriter is a WriteSyncer that always returns an error on writes.
type FailWriter = ztest.FailWriter
LoggerOption configures the test logger built by NewLogger.
type LoggerOption interface {
// contains filtered or unexported methods
}
func Level(enab zapcore.LevelEnabler) LoggerOption
Level controls which messages are logged by a test Logger built by NewLogger.
func WrapOptions(zapOpts ...zap.Option) LoggerOption
WrapOptions adds zap.Option's to a test Logger built by NewLogger.
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
A Syncer is a spy for the Sync portion of zapcore.WriteSyncer.
type Syncer = ztest.Syncer
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() }
TestingWriter is a WriteSyncer that writes to the given testing.TB.
type TestingWriter struct {
// contains filtered or unexported fields
}
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 (w TestingWriter) Sync() error
Sync commits the current contents (a no-op for TestingWriter).
func (w TestingWriter) WithMarkFailed(v bool) TestingWriter
WithMarkFailed returns a copy of this TestingWriter with markFailed set to the provided value.
func (w TestingWriter) Write(p []byte) (n int, err error)
Write writes bytes from p to the underlying testing.TB.