【发布时间】:2009-03-29 17:05:12
【问题描述】:
我正在寻找一种具有夹板成熟度的静态分析工具,该工具还可以对代码进行测试覆盖分析。例如,libfoo.c 中的所有非静态函数都应该存在于 libfoo.h 中,因此 libfoo.h 中的所有函数都应该有单元测试。
当然,这种行为需要某种精细控制,但这将在静态分析工具的某种启动配置文件中定义。
我正在处理一个进展非常迅速的项目,每天都在添加各种东西,我希望找到一些有助于确保单元测试覆盖率保持足够的静态分析工具。它是一个庞大的、地理分布的团队,这意味着事情会 24/7 全天候提交,我需要每晚构建更智能。
我不需要它超级聪明,我只需要它在没有测试的情况下破坏构建,除非它明确超出范围。
CCAN 正在研究类似的东西,但要写出任何实质性的东西还需要几个月的时间。我也需要一些成熟的东西。
提前感谢您提供任何宝石的链接。
【问题讨论】:
-
“测试覆盖率”是动态分析;除非您(动态)运行测试(并动态确定结果运行了哪些代码),否则您无法知道您测试了什么。 Splint 是一个静态分析工具;因此它不可能测量测试覆盖率。所以我不知道如何有意义地结合这些。你能澄清一下吗?
标签: c unit-testing static-analysis splint