微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有一个类似于NUnit的C ++unit testing库?

我们需要将用C#和NUnit开发的unit testing工具迁移到在Red Hat Linux上运行的C ++。

我们要尽量减less移民的努力。

我们正在阅读这样的资源:

Exploring the C++ Unit Testing Framework Jungle

在Linux内核源代码中find的一个结构数组的初始化的C方法之前从未见过

为什么线程函数不能调用? (SIGEV_THREAD)

我怎样才能使系统调用write()打印到屏幕上?

转储原始图像数据

哪些字符对于ZIP文件中的文件名称无效?

但是我们没有看到类似于NUnit的东西。

CreateProcess打开加载文件的程序

如何在Linux上创build存根共享库

如何捕获在WndProc()函数中定义的静态对象的exception?

在Windows Compact 2013中标记存储卷

进程名称总是exe的名称

扩展Mark Bessey的答案 :我真的很喜欢cxxtest,因为它只是一组C ++头文件和Perl脚本。 只要你有一个C ++编译器和Perl,它几乎可以在任何系统上工作。 它还具有与您的IDE集成的功能(尽管我没有使用它们)。

另外,这里有一篇很好的文章探索C ++单元测试框架丛林 。 这篇文章可能会过时(大约在2004年),但是对于使用以下每个C ++单元测试框架的特性和直接示例给出了很好的总结:

CppUnit的

如Boost.Test

CppUnitLite

NanoCppUnit

单位++

cxxtest

你有没有考虑过使用CppUnit ?

这里是关于C ++单元测试框架的概述。

我们使用Google Mock和Google Test 。 虽然从来没有使用过NUnit,但我不能评论它与NUnit有多相似。

还有Boost.Test 。

不幸的是,你不会发现任何非常像NUnit的东西。 由于C ++没有相同的强反射能力,所以定义测试的过程需要更加明确一些,而不像NUnit那样使用属性

我喜欢cxxtest,因为它很容易设置,而且不需要手动测试注册

我建议你尝试UnitTest ++:

http://unittest-cpp.sourceforge.net/UnitTest++.html

我不知道它是否与NUnit类似,但它强大,优雅,易于使用。

我使用Boost.Test 。 我曾经使用CppUnit ,但发现它的工作方式是Java / Junit,而不是C ++的方式。 例如使用setup和teardown方法而不是构造函数和析构函数。 另外,由于C ++不支持反射,所以测试用例/ Fixture支持有点费力。

我发现Boost.Test更适合我测试的C ++代码。 这也是更强大。 过了一会,我将所有的CppUnit测试移植到了Boost.Test,这花了大概一天的时间,我还没有回头。

据我所知cppunit背后的人也写cxxunit这是更多的C ++类型。

Googletest与xUnit的用法非常相似。 Googlemock是迄今为止最好的C ++嘲讽框架。 这些库是跨平台的,具有优秀的文档和活跃的用户群。 所有你需要的是一个兼容的C ++编译器,可以处理模板。

CppUnit的原作者Michael Feathers现在推荐CppUnitLite,它是一个简单的骨架框架。 有一次,我在ACCU 2010上用Googlemock的乐趣让他感到高兴,我希望他能拥抱它:-)

在WinUnit块上有一个相对较新的小孩。 我没有时间自己尝试,但可能值得一看。

一个叫CPPUnit的好方法。 它由Michael Feathers作为JUnit的C ++端口开始了它的生活。 我曾与它合作,这是伟大的。 请注意,使用C ++进行单元测试比其他语言更难。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐