巨大なレガシーコードベースのためのMSTestを
-
21-09-2019 - |
質問
私たちは、ネイティブ/管理されていないレガシーC ++の1000K程度のラインを持つ巨大なコードベースがある - のコードを、私たちはユニットテストとMSTestをしてコードを提供しようとしている当社の現在の開発環境(TFS、VS 2010に完全に収まるように... )。私はMSTestをがorginally管理対象外のSCのためのユニットテストを書くためにテストマネージコードが、そのも可能に意味することを知っています。
アンマネージコードのためのMSTestをの使用上の任意の(それ以降)の欠点はありますか?誰もがこの上の任意の経験を持っていますか?
セカンドオピニオンはGoogle.Testを使用しているだろうが、私は、Visual Studioのアドインで私たちの環境でGTESTフレームワークを統合する。
を記述する必要があります事前に感謝します!
解決
私は、管理対象のテストのためのMSTestをお勧めしません。私の経験のためにここを参照してください。あなたはしかし、場合、私は使用<のhref =「http://msdn.microsoft.com/en-us/magazine/cc164123.aspx」のrel = "nofollowをnoreferrerだろうあなたのレガシーコードをテストするために、本当に良い方法だと思い主張「>のPInvoke の相互運用へのごC ++コードます。
他のヒント
の私が推薦する googletest をとにかく。の私は彼らを考えますまた、喜んであなたのVSの統合を受け入れ、次のリリースに含める、パッチは、合理的な品質を持って提供されます。
ああ、あなたは gmock に、その後、別の偉大なGoogleのプロジェクトを使用することができます。
私は何の問題もなくVisual Studioでの私のC ++のコードをテストするためにBoost.Testフレームワークを使用します。あなたは、あなたのメインのプロジェクトが依存することができ、あなたのテストが含まれているテストプロジェクト(コンソールモードのEXE)を作成する必要があります。 Visual Studioの「ポストビルド」のステップを使用すると、自動的にテストを実行することができます。