1
19
我刚对一个 very similar question .我最终使用了诺埃尔·洛皮斯的UnitTest++。我更喜欢它而不是boost::test,因为它没有坚持用宏实现测试工具的主程序——它可以插入您创建的任何可执行文件。它确实会遇到与boost::test相同的负担,因为它需要链接一个库。我已经使用了CXXTEST,它比C++中的任何东西都更接近自动生成测试(尽管它需要Perl作为构建系统的一部分来完成)。C++不提供.NET语言和Java所做的反射钩子。VisualStudioTeam Stase-开发人员版中的MSTEST工具将自动生成非托管C++的测试存根,但这些方法必须从DLL导出,才能做到这一点,因此它不能与静态库一起工作。.NET世界中的其他测试框架也可能具有这种能力,但我对其中任何一种都不熟悉。所以现在我们使用UNITTest++来管理非托管C++,而我目前在MSTestNoST和NUnice之间为托管库进行决策。 |
2
66
我刚推出了自己的框架, CATCH ,就在那里。它仍在开发中,但我相信它已经超越了大多数其他框架。 不同的人有不同的标准,但我试图在没有太多折衷的情况下覆盖大多数领域。 请看一下我链接的博客文章,看看有没有品味。我的五大特点是:
它 不 做一代树桩-但这是一个相当专业的领域。我想 Isolator++ 是第一个真正实现这一目标的工具。注意,模拟/存根框架通常独立于单元测试框架。catch尤其适用于模拟对象,因为测试状态不是由上下文传递的。 它还具有objective-c绑定。 [更新] 就在几年前我的回答中。感谢大家的好评! 显然,在那个时候,渔获物已经发展了很多。它现在支持BDD风格的测试(给定/何时/然后),标签,现在在 单一的 标题,以及内部改进和改进的加载(例如,更丰富的命令行、清晰和表达的输出等)。 A more up-to-date blog post is here. |
3
23
看看谷歌C++测试框架。 它被谷歌用于所有的内部C++项目,所以它必须是相当好的。 http://googletesting.blogspot.com/2008/07/announcing-new-google-c-testing.html |
4
22
测试允许按名称运行测试用例。或测试套件。或者其中一些。 测试并没有坚持执行MAIN,尽管它确实使实现变得容易。 没有必要将测试用作库。它有单头变量。 |
5
8
我非常喜欢 UnitTest++ 它很轻,但能起到作用。您可以在那里轻松地运行单个测试。 |
6
6
好问题!几年前,我环顾四周,寻找值得使用的东西,结果发现不足。我在找一些非常轻量的东西,不需要我在一些库中链接…你知道的 我可以在几分钟内起床跑步。 但是,我坚持了下来,最后跑了过去 cxxtest . 从网站:
真的。。。超简单! 包含一个头文件,从测试类派生,然后关闭并运行。在过去的四年里,我们一直在使用它,我仍然没有找到任何我更满意的东西。 |
7
4
尝试 WinUnit . 听起来很好,建议 John Robbins . |
8
3
我喜欢Boost单元测试框架,主要是因为它非常轻。
|
9
2
|
10
2
我在用 tut-framework |
11
2
Aeryn 另一个框架值得研究吗 |
12
2
Visual Studio具有内置的单元测试框架,这是为Win32控制台应用程序设置测试项目的重要链接: http://codeketchup.blogspot.ie/2012/12/unit-test-for-unmanaged-c-in-visual.html 如果您正在处理一个静态的dll项目,那么设置起来就容易得多,正如其他人指出的那样,外部测试框架(如gtest和boost)具有额外的特性。 |
14
0
Eclipse/JUnit是Java的一个坚实的包,并且有两个C++扩展/等价物。它能做到你所说的。当然,你得换一下IDES… |
15
0
我也是UnitTest++的粉丝。 问题在于,源分发包含近40个独立文件。这是荒谬的。管理一个简单项目的源代码管理和构建任务主要是查看所有这些单元测试文件。 我已经修改了UnitTest++以便通过添加一个.h和.cpp文件将其与项目集成。我称之为“最可爱的”。细节在 http://ravenspoint.com/blog/index.php?entry=entry080704-063557 它不会自动生成测试存根,正如在原始问题中所要求的那样。我不禁想到,这样的特性会比它的价值更麻烦,产生大量无用的代码“测试”访问函数。 |
16
0
我可以想象,自动删除测试函数将更像是一个函数(框架脚本或相关开发环境的脚本)。据推测,CodeGear的C++Builder应用程序将快速生成用户函数的测试代码。 |
17
0
安德鲁·马洛的果糖图书馆值得一看… http://fructose.sourceforge.net/ 我记得在他写果糖的时候,他的文档包含了对其他产品的相当详细的分析和比较,但是没有找到直接指向该文档的URL。 |
18
0
我正在尝试 Igloo 也是一个头的C++测试套件,即使是两个包含的依赖项也是头文件。 所以,这非常简单明了。除了Github上包含的示例外,在主站点还有一些示例和更多详细信息, igloo-testing.org . 我稍后会更新这个,因为我在IT和其他框架方面有更多的经验。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |