unit-testing - 如何测试 bytes.ErrTooLarge 恐慌错误
问题描述
我想在 bytes.Buffer.Write 方法上模拟 bytes.ErrTooLarge 恐慌错误并测试恐慌处理。我试图写入无限的数据量以超过内存,但随后整个测试崩溃了。还有哪些其他选择?
解决方案
听起来像是模拟对象的工作。在测试期间使用此 (badBuffer) 代替 bytes.Buffer。
type badBuffer bytes.Buffer
func (b *badBuffer) Write(p []byte) (n int, err error) {
panic(bytes.ErrTooLarge)
}
推荐阅读
- amazon-web-services - 递归 AWS Lambda 函数调用 - 最佳实践
- python - 如果我将 tkinter 对象放在函数中,为什么 x 和 y 坐标不会与您单击的位置对齐?
- regex - 是否可以在不使用 OR 的情况下将两个正则表达式模式组合成一个?, 管道字符
- google-play-services - Google Play 知识产权政策;为什么他们实际上首先接受侵犯版权?
- visual-studio-code - 无法安装 VisualStudioCode 自定义主题 (.vsix)
- azure - 特定 Blob 存储的 Azure 事件主题筛选
- java - 我无法从 json 的主表中获取字段
- matlab - 采样图像
- bash - 如何使用 Curl 显示进度条制作 Bash 脚本
- django - 无法通过 DRF 上传文件