VS 2012でマネージC++ユニットテストを実行しています。テストは正常に実行され、複数のcout
呼び出しを含むループが実行されていることを確認できます。
ただし、テストエクスプローラーを見ると、テストは合格とマークされていますが、c#プロジェクトで使用されている出力のハイパーリンクはありません。
テストの最後のコードは
for (int i = 0; i < 4; i++)
{
cout << parameters[i];
cout << endl;
}
デバッガーで実行すると、実行を確認できます。私もcerr
を試しましたが、違いはありません。
Debug :: WriteLine()(System :: Diagnostics名前空間内)またはConsole :: WriteLine()を使用して、Visual Studio 2012コンソールに出力を書き込むことができます。
テストのコード(System :: Diagnostics名前空間は他の場所で宣言されていることに注意してください)。
テスト結果ビュー。
「出力」リンクをクリックした後:
これはstd :: coutを使用していませんが、うまくいけば、これで必要なことが実行されます。
私にとっては使用するようです:
Logger::WriteMessage("What ever message");
テストを実行した後、output
をクリックすると、Test Explorer
ウィンドウに出力が表示されます。
私があなたに決定的な答えを与えることができるかわかりませんが、私は手掛かりを提供できるかもしれません。
カスタムビルドステップ中にコンソールウィンドウに出力を取得する必要があった以前のコードでは、次の行を使用しました。
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);
_CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR);
http://msdn.Microsoft.com/en-us/library/8hyw4sy7(v = vs.71).aspx に_CrtDbgReportの説明があります。
私の場合、これにより、マネージC++からの出力がビルド出力ウィンドウに表示されました。単体テストに役立つことを願っています。
マイクロソフトによれば、trxの接続とテスト結果は非推奨です
:(