c - 用 C 编写的单元测试遗留程序

标签 c unit-testing

我正在维护多年前用 C 编写的服务器应用程序。它的单元测试 (cxxtest) 很少,我正在考虑开发更多。

最近几天我阅读了有关单元测试 C 程序的主题,并尝试了一些东西。正确的做法似乎是包含包含要从我的测试套件进行测试的函数的 .c 文件。但是,由于该 .c 文件包含许多调用许多其他函数的函数,因此在开始实际工作之前我必须处理许多依赖项。

我想做的是“关闭”我对特定测试不感兴趣的所有功能。我会 stub 那些被我的测试函数调用的。如果需要的话,我正在考虑将 ifdef 放在我的函数周围。

是否有更好的解决方案或框架来解决这个问题?

最佳答案

编写可靠的单元测试的先决条件是能够独立测试代码。即,在不涉及任何其他逻辑的情况下调用此方法。听起来您可能需要进行一些重构以删除提到的依赖项才能完成此操作。

至于 C 的单元测试框架,请在此处查看类似的讨论:Unit Testing C Code

关于c - 用 C 编写的单元测试遗留程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3268147/

相关文章:

ruby-on-rails - RSpec Devise sign_in 未在 Controller 中设置 current_user

c# - Nhibernate .Fetch 调用在模拟 session 中失败

代码不起作用,出现错误 : segmentation fault(core dumped)

c - C 中位掩码的使用

C:fread函数返回0

php - mock Eloquent 集合

php - 我如何在 Yii 中模拟 ActiveRecord 对象?

c++ - 如何通过 Windows API 获取所有(非禁用)用户 SID?

c - 了解结构中字符串的动态内存分配

.net - VS2010 中的 Assert.AreEqual() 异常