gpt4 book ai didi

c# - 如何为压缩和解压缩的方法编写单元测试?

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:22 35 4
gpt4 key购买 nike

我需要为压缩和解压缩 ArraySegment 对象的方法编写单元测试。这些方法里面有很多我不需要理解的奇怪处理。 (他们也使用一些系统方法——我不知道他们的实现。)

问题在于如何实际测试这样的东西。我可以检查具体输入的压缩方法的结果是什么 - Lorem ipsum dolor sit amet, consectetur adipisicing elit. - 并根据这个实验创建一个测试用例,但这个解决方案不测试任何边境案件。

我还可以测试对某个序列进行压缩然后解压缩是否会给我第一个输入序列,但这不是纯单元测试。

你遇到过这样的问题吗?有什么好的解决办法吗?

最佳答案

我发现自己定期编写这样的测试。为包装加密的代码编写测试的工作方式类似。

您不能模拟或 stub 您不完全理解的代码(即您无法准确预测其结果的代码),所以不要担心编写纯单元测试。

  • 是的,测试压缩和解压缩是否可以返回输入。
  • 测试压缩输入产生的输出是否小于输入。
  • 如果压缩算法有任何对您的程序很重要的细微差别,例如它将特定输入压缩到特定程度,您可以对其进行测试。这里的主要值(value)是记录您使用的库具有这些属性并且您关心。
  • 测试边缘情况,例如零长度和超长输入。
  • 我不会测试压缩特定输入会产生特定输出,因为如果您将压缩库升级到压缩效果更好的版本,输出可能会中断。但是,如果您需要保留压缩数据并在以后解压缩,请测试压缩版本不会更改,这样您就不会升级库和孤立持久数据。

关于c# - 如何为压缩和解压缩的方法编写单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23893678/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com