私はCPPunitで書かれたモジュールテストをたくさん持っており、いくつかのモックは手作業で作成されています。できるだけスムーズにGoogleTestに移行する方法を探しています。そのような操作を試しましたか?必要な努力は何でしたか?
3 に答える
Google Test
テストを呼び出すためにいくらか同じ構文を共有しているようにCppunit
見えますが、私が思うに、その構文にはあまりにも多くの違いがあります。
どういうわけかそれを自動化することはできないと私はほぼ確信しています。この操作では、Google Test
セマンティクスに従うためにテストを再考して再構成する必要があります(モックの作成に特化したものを使用する場合、それらを移植するにGoogle Mock
は、さらに多くの労力が必要になります。Google Mock
のアプローチは明白なものではなく、実際には複雑です)。
「なぜテストを移植する必要があるのか」、「この操作のメリットは何か」、「まったく新しいテストフレームワークを研究してから書き直したいのか」という質問を考え直したほうがいいと思います。何らかの目的のための私のすべてのテスト」。
別のフレームワーク (あなたの場合は cppunit) から Google テストを使用できるようです: https://code.google.com/p/googletest/wiki/AdvancedGuide#Letting_Another_Testing_Framework_Drive
ある程度@Kottiに同意します。テストの自動変換は簡単ではないため、既存のテストの数がその努力を正当化するかどうかを検討する必要があります。
私は Googlemock フレームワークの大ファンです。手動モックに多額の投資を行う場合、モックを Googlemock に移植すると、継続的なテスト コストが大幅に改善される可能性があります。
これが移植を検討する理由である場合、Googlemock は Googletest だけでなく、他のテスト フレームワークでも動作することを覚えておいてください。(注: 私はこの機能を使用したことはありませんが、その使用に関するオンライン レポートを見たことがあります)