在 Windows 上使用哪个单元测试框架进行 C 开发? [关闭]

Posted

技术标签:

【中文标题】在 Windows 上使用哪个单元测试框架进行 C 开发? [关闭]【英文标题】:Which unit testing framework to use for C development on Windows? [closed] 【发布时间】:2010-12-17 23:03:30 【问题描述】:

在 Windows XP 上,使用 TDM's GCC/MinGW32 进行基本开发,即带有 gdb 的 gcc 4.4.x。哪个单元测试框架用于测试驱动开发?

显然Check 的单元测试还不能在 Windows 上运行。

Unit Testing Frameworks for C 和 Unit Testing C Code 的问题类似,但不是专门针对在 Windows 上使用 gcc 4.4.x。

【问题讨论】:

pragprog.com/book/jgade/test-driven-development-for-embedded-c 【参考方案1】:

Cut 是我所知道的唯一可以在 Windows 上运行的 C 单元测试框架。 Check 确实可以通过 Cygwin 在 Windows 上运行(这是我目前正在使用的)。

【讨论】:

【参考方案2】:

Awesome slides 来自关于 TDD 与 C 的谈话,只使用 C99 标准的东西。

我个人喜欢glib 中的东西,你可以在MinGW 中使用。

【讨论】:

幻灯片+1,真的很棒。 这是非常小的项目的绝佳解决方案。我还在考虑如何扩展它。【参考方案3】:

minunit 只有四个宏,所以它可以在任何平台上编译。它功能不全,但可以完成工作,并且可以轻松扩展以满足您的需求。

【讨论】:

【参考方案4】:

从 0.9.11 版开始,check 支持 MinGW 和 Cygwin 平台上的 Windows。

由于 MinGW 平台没有等效的 fork(),因此无法使用 fork() 模式进行检查。但是,Cygwin 确实提供了一个 fork() 实现供检查使用。

【讨论】:

【参考方案5】:

看看 cmocka,一个支持模拟对象的 C 单元测试框架。它在 Windows 上经过测试和支持。

https://cmocka.org

【讨论】:

【参考方案6】:

我个人喜欢cfix,它不仅针对Windows C开发者,还支持用户模式和内核模式代码。

【讨论】:

以上是关于在 Windows 上使用哪个单元测试框架进行 C 开发? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

C语言单元测试框架——CUnit 安装(windows和Linux)及使用

gtest单元测试框架介绍及简单使用

Glib 对 C 函数进行单元测试

习题-第3章单元测试

在ANDROID STUDIO环境下使用JUNIT框架进行单元测试

Spring学习12-Spring利用mock进行单元测试