首页 > 解决方案 > 如何测试 bytes.ErrTooLarge 恐慌错误

问题描述

我想在 bytes.Buffer.Write 方法上模拟 bytes.ErrTooLarge 恐慌错误并测试恐慌处理。我试图写入无限的数据量以超过内存,但随后整个测试崩溃了。还有哪些其他选择?

标签: unit-testinggo

解决方案


听起来像是模拟对象的工作。在测试期间使用此 (badBuffer) 代替 bytes.Buffer。

type badBuffer bytes.Buffer

func (b *badBuffer) Write(p []byte) (n int, err error) {
    panic(bytes.ErrTooLarge)
}


推荐阅读