Visual Studio 2012の新機能の一つにC++の単体テスト機能があります。今までもC++の単体テストをサポートするソフトはCUnitをはじめいくつかありましたが、Visual Studioにもやっとというか、とうとうというか、搭載されました。επιστημηさんが、基本的な使い方をcodezineに書かれています。
Visual Studio 11 : C++ Unit Test Framework ── C++単体テストの決定版(かもしれない) (1/4):CodeZine
Visual Studio 2012だけで使うときはこれでいいのですが、Visual Studio 2010までに書かれたソースコードもテストしたいですよね。Visual Studio 2012とVisual Studio 2010のソリューションファイルは相互にやり取り可能ですが、2012で開いてしまうと、ソリューションファイルがアップグレードされてしまうので、VS2010で開くときにオプションの都合がよくありません。こういうときはソリューションファイルの構成マネージャーでソリューション構成を分けましょう。
f:id:kkamegawa:20130211015431p:image
ここではDebug-VS2012という新しいソリューション構成を追加しています。これでDebug-VS2012という構成側だけでコンパイラの設定を行いましょう。
f:id:kkamegawa:20130211015432p:image
プロパティでプラットフォームツールセットを選択します。Visual Studio 2012 - Windows XPを選択した場合、Windows XPで実行できるバイナリを生成することができますが、事前にVisual Studio 2010のインストールが必要です。また、Windows XPバイナリの生成を行う環境で単体テストを実行する場合、includeとlibに以下のパスを設定する必要がありますので、気を付けてください。

  • C:Program Files (x86)Microsoft Visual Studio 11.0VCUnitTestinclude
  • C:Program Files (x86)Microsoft Visual Studio 11.0VCUnitTestlib

もちろん、ソリューションファイルそのものをVisual Studio 2012用に別に作って、プロジェクト(vcproj)を追加するという方法でもOKです。