测试审查表明,MemoryStream总是返回“顺利”的结果。即,如果我们从MemoryStream400 字节的工作缓冲区中读取 200 个字节,它总是在一次调用中准确返回 200 个字节。如果我们将 4000 字节读入 200 字节的工作缓冲区,它总是正好 20 次迭代,每次正好 200 字节。
问题是MemoryStream罐子(在现实世界中,极端情况)代表慢流源(如网络或文件)。因此,读取可能不会如此确定地平滑。每个Read操作都可能返回不确定的读取字节数(例如:8、1、105、20、5、80 ...)
那么将香草MemoryStream变成(因为缺少更好的词)a的好方法是什么ChaosStream,其中读取的字节数是 1 和读取请求之间的随机数count?(请注意,0 表示流结束)。字节本身需要是底层字节,只需对它们进行一些随机/抖动读取以扩展测试覆盖率。