首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对一个返回二进制数据的简单C函数进行单元测试?

如何对一个返回二进制数据的简单C函数进行单元测试?
EN

Stack Overflow用户
提问于 2012-02-13 20:33:35
回答 4查看 274关注 0票数 5

我想为一个应该压缩或解压缩某些数据的函数实现一些非常简单的C/C++单元测试。

输入主要是二进制块,输出也是二进制块。二进制块应该少于50个字节,可能有5-6对。

我正在寻找一种解决方案,最好是不需要第三方库。如果需要的话,这个应该是非常小/简单的。

EN

回答 4

Stack Overflow用户

发布于 2012-02-13 20:37:33

“我正在寻找一种不需要第三方库的解决方案。”

只需编写单元测试函数,这很简单:创建一个函数,该函数将使用不同的参数调用待测试函数,并将结果与预期输出进行比较。将指向该测试函数的函数指针添加到存储所有测试函数的全局函数指针数组中,以便可以按需运行所有这些函数。

票数 1
EN

Stack Overflow用户

发布于 2012-02-13 20:38:10

不知何故,你需要验证你的函数,我能想到的唯一解决方案是:

  • 使用一些第三方库(已知在实际中有效)
  • 使用一些数据序列,您可以确切地知道这些数据序列的输出应该是什么样子的
票数 1
EN

Stack Overflow用户

发布于 2012-02-13 21:56:31

我可以想到两种类型的单元测试。1.检查输出是否正确。为此,您可以尝试使用输出已知的输入。在单元代码中,您可以将方法的输出与已知输出进行比较。2.单独检查回归。我曾在某种遗留代码库中使用过这些测试。在这里,您的功能以某种方式得到了验证(可能使用其他方法进行了测试)。但是,当有人对这段代码做了一些更改时,您需要确保主输出没有损坏。为此,您可以在特定的构建中调用该方法,在该构建中,您可以确保函数工作正常,并捕获此输出作为基线。稍后,您可以编写单元测试驱动程序来调用该方法,并将输出与所有后续构建中的基线输出进行比较。但是,您需要记住在有意修改函数时更新基线,以便稍后修改输出。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9260590

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档