Spec-Zone.ru › Go

Пакет iotest

  • import "testing/iotest"
  • Обзор
  • Индекс
  • Примеры

Обзор

Пакет iotest реализует Читатели и Писатели, полезные в основном для тестирования.

Индекс

  • Переменные
  • func DataErrReader(r io.Reader) io.Reader
  • func ErrReader(err error) io.Reader
  • func HalfReader(r io.Reader) io.Reader
  • func NewReadLogger(prefix string, r io.Reader) io.Reader
  • func NewWriteLogger(prefix string, w io.Writer) io.Writer
  • func OneByteReader(r io.Reader) io.Reader
  • func TestReader(r io.Reader, content []byte) error
  • func TimeoutReader(r io.Reader) io.Reader
  • func TruncateWriter(w io.Writer, n int64) io.Writer

Примеры

ErrReader

Файлы пакета

logger.go reader.go writer.go

Переменные

ErrTimeout — это имитация ошибки таймаута.

var ErrTimeout = errors.New("timeout")

func DataErrReader

func DataErrReader(r io.Reader) io.Reader

DataErrReader изменяет способ обработки ошибок Читателем. Обычно Читатель возвращает ошибку (обычно EOF) от первого вызова Read после того, как последняя часть данных будет прочитана. DataErrReader оборачивает Читатель и изменяет его поведение, так что конечная ошибка возвращается вместе с последними данными, а не в первом вызове после окончательных данных.

func ErrReader 1.16

func ErrReader(err error) io.Reader

ErrReader возвращает io.Reader, который возвращает 0, err от всех вызовов Read.

Пример

Код:

// A reader that always returns a custom error.
r := iotest.ErrReader(errors.New("custom error"))
n, err := r.Read(nil)
fmt.Printf("n:   %d\nerr: %q\n", n, err)

Вывод:

n:   0
err: "custom error"

func HalfReader

func HalfReader(r io.Reader) io.Reader

HalfReader возвращает Читатель, реализующий Read, читая вдвое меньше запрошенных байтов из r.

func NewReadLogger

func NewReadLogger(prefix string, r io.Reader) io.Reader

NewReadLogger возвращает читатель, который ведет себя как r, за исключением того, что он записывает (используя log.Printf) каждый считываемый фрагмент в стандартный поток ошибок, печатая префикс и шестнадцатеричные считанные данные.

func NewWriteLogger

func NewWriteLogger(prefix string, w io.Writer) io.Writer

NewWriteLogger возвращает писатель, который ведет себя как w, за исключением того, что он записывает (используя log.Printf) каждый записываемый фрагмент в стандартный поток ошибок, печатая префикс и шестнадцатеричные записанные данные.

func OneByteReader

func OneByteReader(r io.Reader) io.Reader

OneByteReader возвращает Читатель, реализующий каждый непустой Read, читая один байт из r.

func TestReader 1.16

func TestReader(r io.Reader, content []byte) error

TestReader проверяет, что чтение из r возвращает ожидаемое содержимое файла. Он выполняет чтение разных размеров до EOF. Если r реализует io.ReaderAt или io.Seeker, TestReader также проверяет, что эти операции ведут себя должным образом.

Если TestReader обнаружит какие-либо неисправности, он возвращает ошибку, сообщающую об этом. Текст ошибки может занимать несколько строк.

func TimeoutReader

func TimeoutReader(r io.Reader) io.Reader

TimeoutReader возвращает ErrTimeout при втором чтении без данных. Последующие вызовы read успешно выполняется.

func TruncateWriter

func TruncateWriter(w io.Writer, n int64) io.Writer

TruncateWriter возвращает Писатель, который записывает в w, но останавливается молча после n байтов.

© Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
http://golang.org/pkg/testing/iotest/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API