5

我有一堆用 CPPunit 编写的模块测试,其中包含一些手工创建的模拟。我正在寻找一种尽可能顺利地将它们迁移到 GoogleTest 的方法。你试过这样的操作吗?需要付出什么努力?

4

3 回答 3

2

Google Test并且Cppunit似乎在调用测试时共享相同的语法,但我怀疑该语法有太多差异。

我几乎可以肯定你不能以某种方式自动化它,并且这个操作需要重新考虑和重新组合你的测试以遵循Google Test语义(如果你使用专门的东西来创建你的模拟,那么将它们移植到Google Mock需要更多的努力,仅仅是因为Google Mock的方法不是显而易见的,实际上很复杂)。

我会说你最好重新考虑以下问题:“为什么我需要移植我的测试”,“这个操作有什么好处”和“我真的想研究一个全新的测试框架然后重写我所有的测试都是为了某种目的”。

于 2010-04-29T13:00:11.663 回答
2

看来您可以从另一个框架(在您的情况下为 cppunit)使用 google 测试: https ://code.google.com/p/googletest/wiki/AdvancedGuide#Letting_Another_Testing_Framework_Drive

于 2010-05-18T06:06:57.167 回答
0

在某种程度上,我同意@Kotti。自动转换对于测试来说将是非常重要的,因此您需要考虑现有测试的数量是否值得付出努力。

我是 Googlemock 框架的忠实拥护者,如果您在手动模拟上进行了大量投资,那么将您的模拟移植到 Googlemock 可能会对您的持续测试成本产生巨大的好处。

如果这是考虑移植的原因,那么请记住 Googlemock 可以与其他测试框架一起使用——而不仅仅是 Googletest。(注:我没有使用过这个功能,但是看过网上的报道它的使用)

于 2010-04-29T13:54:56.457 回答