如何将Cppunit测试迁移到GoogleTest?

时间:2010-04-29 11:59:33

标签: c++ unit-testing testing cppunit googletest

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

3 个答案:

答案 0 :(得分:2)

Google TestCppunit似乎在调用测试方面有一些相同的语法,但我怀疑在语法上存在太多差异。

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

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

答案 1 :(得分:2)

您似乎可以在其他框架中使用google test(在您的情况下为cppunit): https://code.google.com/p/googletest/wiki/AdvancedGuide#Letting_Another_Testing_Framework_Drive

答案 2 :(得分:0)

在某种程度上,我同意@Kotti。自动转换对于测试来说并不重要,因此您需要考虑现有测试的数量是否合理。

我非常喜欢Googlemock框架,如果您在手动模拟方面投入大量资金,那么将您的模拟移植到Googlemock可以为您的持续测试成本带来巨大好处。

如果这是考虑端口的原因,那么请记住Googlemock可以与其他测试框架一起使用 - 而不仅仅是Googletest。 (注意:我没有使用过这个功能,但已经看到了在线报告的使用)