我是一名 ruby 程序员,我非常喜欢做 TDD。现在,我正在使用 C 语言进行一些编程,但我喜欢我的工具以及我使用 ruby 进行编程的方式。所以,我正在寻找一个用 C 语言进行单元测试的框架。你能告诉我什么吗?
我已经找到了一些选项,例如:cunit、cmockery、CuTest 等。问题是,我不知道如何评价最好的。我正在为我的编译器大学类(class)编写一个简单的编译器。
你能帮帮我吗?
最佳答案
Unity ,C 的测试框架具有一组丰富的断言,包括按位和内存块比较。如果您不处理大型遗留代码库,我建议您使用 Ceedling ,Unity 的父项目。 Ceedling 构建您的 Unity 测试、生产代码并集成一个名为 CMock 的模拟框架。 . CMock 可以从它的公共(public)接口(interface) header 自动生成模块的模拟/替代。
有一个视频向您展示如何 get started with Ceedling and Unity . (免责声明:我制作了视频)。
另一种选择是 CppUTest .它编译为 1 个静态库(如果你想使用它的模拟框架,则为 2 个,CppUMock)。测试是用 C++ 编写的,它与您现有的 makefile 项目集成。它还为 malloc/free、new/delete 提供内存泄漏检测替代方案。相比之下,它的断言不如 Unity 全面,但它可能更适合测试 C/C++ 遗留项目。
关于c - C : Comparison 的单元测试框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1468110/