c - C : Comparison 的单元测试框架

标签 c tdd

我是一名 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/

相关文章:

c - 查找位数组中的第一个零

asp.net-mvc - 如何对使用 FormsAuthentication 的 ASP.NET MVC Controller 进行单元测试?

c - 单元测试 : cohabitation of the production-code and the mocked implementation

c - C 错误中的 SIGSEGV

c - 从二进制文件中删除信息

c - malloc 和 free 的错综复杂

java - 使用非平凡算法的 tdd

c - 基于链表的动态数组上的 realloc 函数的问题

unit-testing - 单元测试指南

c# - 使用 Linq to SQL 进行单元测试实践