C++中的单元测试

lvmkulzt  于 11个月前  发布在  其他
关注(0)|答案(7)|浏览(109)

我已经阅读了很多关于单元测试和测试驱动开发的文章。
最近,我还读了java单元测试代码。
然而,我更喜欢用Qt开发。所以我在谷歌上搜索了“c中的单元测试”,找到了大量关于C可用的各种单元测试框架的信息。
但是,我找不到各种框架的可靠比较。
因此,我期待SO社区指导我选择什么可能是C++的“最佳”单元测试框架。
此外,如果有人对Qt中的TDD(特别是使用Qt-Creator)有具体的评论,那么他们非常受欢迎。

g9icjywg

g9icjywg1#

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

yb3bgrhw

yb3bgrhw2#

我推荐doctest(由我创建)-它是所有流行测试框架中编译时间最短的。它也是Catch的直接竞争对手,Catch是目前使用最多的框架-在FAQ中查看差异

flvtvl50

flvtvl503#

这似乎也是同样的问题:
Unit testing in C++实际上是c++,尽管有URL标题。
从那里,他们链接到另外两个SO问题,这应该有所帮助:
Unit testing for C++ code - Tools and methodologyC++ unit testing framework

3vpjnl9f

3vpjnl9f4#

维基百科上有一个表格比较了所有的C单元测试框架。
还有一个旧的comparison of C++ unit test frameworks可用。我不认为它没有被更新,所以我提到它作为补充,因为它比表更有争议。它涵盖了,CppUnit,CppUnitLite,Boost.Test,NanoCppUnit,Unit
,CxxTest,特别是它没有涵盖Google C++ framework

holgip5t

holgip5t5#

“xUnit”系列的测试框架通常都很可靠(jUnit、NUnit等)。我自己还没有用过,但是有一个针对C++的jUnit移植:
http://sourceforge.net/projects/cppunit

qxsslcnc

qxsslcnc6#

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

rvpgvaaj

rvpgvaaj7#

如果你想快速起步,而不想弄清楚如何构建一个库,有一个单一的头文件包含解决方案,它支持fixture(安装和拆卸),通常的TEST(){} with fixture_TRUE等,它还具有内存泄漏检测和性能测试功能。
https://gitlab.com/cppocl/unit_test_framework

相关问题