Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 如何测试bytes.ErrTooLarge死机错误_Unit Testing_Go - Fatal编程技术网

Unit testing 如何测试bytes.ErrTooLarge死机错误

Unit testing 如何测试bytes.ErrTooLarge死机错误,unit-testing,go,Unit Testing,Go,我想在bytes.Buffer.Write方法上模拟bytes.ErrTooLarge死机错误并测试死机处理。我曾试图写无限量的数据以超过内存,但后来整个测试崩溃了。其他选项是什么?听起来像是模拟对象的作业。在测试期间,使用此(badBuffer)代替bytes.Buffer type badBuffer bytes.Buffer func (b *badBuffer) Write(p []byte) (n int, err error) { panic(bytes.ErrTooLar

我想在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)
}


当您在程序(而不是测试)中遇到此特定错误时,您会采取什么操作?在使用bytes.Buffer的包中可能会发生死机。程序包正在处理此恐慌,并将恐慌转化为正常错误。