[用C ++进行测试驱动开发

问题描述 投票:22回答:3

希望开始在C ++中进行TDD。我看过CPPUnit,但是我想知道人们是否喜欢其他选择?

感谢您的建议!

c++ tdd cppunit
3个回答
28
投票

我可以推荐Google Mock,它已经成为捆绑了Google测试的一部分。几年前,我们从UnitTest ++切换到了Google Test / Google Mock,再也没有回头。

即使您不想使用模拟功能,也可以使用Google Mock。其matchersvery useful


9
投票

几年前我从CppUnit切换到boost :: test,对此我感到非常高兴。

  • 不存在CppUnit的文档。祝您好运trying to find out无需阅读代码即可支持哪些命令行选项。显然,这对已经熟悉JUnit的人来说更有意义。 boost :: test具有出色的documentation
  • boost :: test的自动测试注册facility使添加单元测试用例异常容易。使用CppUnit,您必须为每个测试用例编写很多样板文件(在测试方法本身的顶部,标题中的一行以及.cpp中的一行用于注册它)。
  • boost :: test lets you通过命令行中的regexp选择测试子集。我们必须破解CppUnit的源代码才能在最初选择它时执行此操作。
  • 我从CppUnit执行missone就是它的“ Protectors”。您可以定义自己的方法,并让它们包装每个测试并检查任何内容(例如,我们在使用x87浮点数舍入模式时遇到了一些代码混乱的问题;检查保护器中的状态是否不变,很快捕获了所有违规者)。 boost :: test有一个类似的东西test_observer,但上次我尝试过一次,实际上并没有使您的测试失败。

6
投票

如果您只是在寻找C ++单元测试框架,请参阅此问题及其答案:test_observer

© www.soinside.com 2019 - 2024. All rights reserved.