13

我一直在阅读很多关于单元测试和测试驱动开发的文章。

最近也在看java单元测试代码。

然而,我更喜欢在 Qt 中开发。因此,我搜索了“C++ 中的单元测试”,并找到了大量有关 C++ 可用的各种单元测试框架的信息。

但是,我找不到各种框架的可靠比较。

所以我期待 SO 社区来指导我选择什么可能是 C++ 的“最佳”单元测试框架。

此外,如果有人对 Qt 中的 TDD(尤其是使用 Qt-Creator)有具体的评论,那么他们非常受欢迎。

4

7 回答 7

18

通常使用Boost,但如果您使用 Qt,他们的QtTestLib可能是更好的选择。

于 2009-05-27T05:29:00.817 回答
5

我会推荐doctest(由我创建)——它是所有流行测试框架中编译时间最轻的。它也是目前最常用的框架Catch的直接竞争对手- 查看常见问题解答中的差异

于 2016-10-10T12:30:47.583 回答
3

这似乎也与以下问题相同:

尽管有 URL 标题,但 C++ 中的单元测试实际上是 C++。

从那里,他们链接到另外两个应该有帮助的 SO 问题:

C++ 代码的单元测试 - 工具和方法 C++ 单元测试框架

于 2009-05-27T05:04:26.570 回答
2

“xUnit”系列测试框架通常非常可靠(jUnit、NUnit 等)。我自己没有使用过,但是有一个用于 C++ 的 jUnit 端口:

http://sourceforge.net/projects/cppunit

于 2009-05-27T05:19:48.717 回答
2

有一个表格比较了所有(?)可从维基百科获得的 C++ 单元测试框架。

还有一个旧的 C++ 单元测试框架比较可用。我不认为它没有更新,所以我把它作为补充提到它,因为它比表格更有争议。它涵盖了 CppUnit、CppUnitLite、Boost.Test、NanoCppUnit、Unit++、CxxTest,尤其是它不包括Google C++ 框架

于 2009-05-27T06:31:03.140 回答
1

Boost通常是一个不错的选择,它包含一个测试框架,即Boost 测试库。我已经将它用于小型测试用例,它达到了我的预期,但我没有像在 TTD 中那样广泛使用它。

于 2009-05-27T05:00:36.383 回答
0

如果您想在不弄清楚如何构建库的情况下快速起步,有一个头文件包含解决方案,它支持固定装置(设置和拆卸)、通常的 TEST() {} 和 CHECK_TRUE 等。它还具有内存泄漏检测和性能测试能力。

https://gitlab.com/cppocl/unit_test_framework

于 2018-06-05T21:28:16.210 回答