©
本文档使用
php.cn手册 发布
import "testing/iotest"
概观
指数
包iotest实现主要用于测试的读者和作家。
变量
func DataErrReader(r io.Reader) 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 TimeoutReader(r io.Reader) io.Reader
func TruncateWriter(w io.Writer, n int64) io.Writer
logger.go reader.go writer.go
var ErrTimeout = errors.New("timeout")
func DataErrReader(r io.Reader) io.Reader
DataErrReader改变了Reader处理错误的方式。通常,读取最后一段数据后,Reader会从第一个Read调用返回一个错误(通常为EOF)。DataErrReader包装Reader并更改其行为,以便最终的错误与最终数据一起返回,而不是在最终数据之后的第一次调用中返回。
func HalfReader(r io.Reader) io.Reader
HalfReader返回一个Reader,它通过读取r中请求的字节的一半来实现Read。
func NewReadLogger(prefix string, r io.Reader) io.Reader
NewReadLogger返回一个阅读器,其行为像r一样,除了它将每个读取记录(使用log.Print)为标准错误,打印前缀和读取十六进制数据。
func NewWriteLogger(prefix string, w io.Writer) io.Writer
NewWriteLogger返回一个写入器,其行为与w相似,但它会记录(使用log.Printf)每次写入标准错误,打印写入的前缀和十六进制数据。
func OneByteReader(r io.Reader) io.Reader
OneByteReader通过从r读取一个字节来返回一个Reader,它实现每个非空Read。
func TimeoutReader(r io.Reader) io.Reader
TimeoutReader在第二次读取时返回ErrTimeout,但没有数据。后续调用读取成功。
func TruncateWriter(w io.Writer, n int64) io.Writer
TruncateWriter返回一个写入w的Writer,但在n个字节后自动停止。