23

VS 2012 でマネージ C++ 単体テストを実行しています。テストは正常に実行され、複数のcout呼び出しを含むループが実行されていることを確認できます。

ただし、テスト エクスプローラーを見ると、テストは合格としてマークされていますが、C# プロジェクトで慣れている出力へのハイパー リンクはありません。

私のテストの最後のコードは

for (int i = 0; i < 4; i++)
{
    cout << parameters[i];
    cout << endl;
}

デバッガーでステップ実行すると、実行を確認できます。私も試してみまし cerrたが、違いはありません。

4

4 に答える 4

19

Debug::WriteLine() (System::Diagnostics 名前空間内) または Console::WriteLine() を使用して、Visual Studio 2012 コンソールに出力を書き込むことができます。

テストのコード (System::Diagnostics 名前空間が別の場所で宣言されていることに注意してください)。 テスト

テスト結果ビュー。

ここに画像の説明を入力

「出力」リンクをクリックした後:

ここに画像の説明を入力

std::cout を使用していませんが、これで必要なことが実行されることを願っています。

于 2013-07-10T16:17:12.370 に答える
17

私にとっては、次を使用して動作するようです:

Logger::WriteMessage("What ever message");

テストを実行した後、Test Explorerをクリックすると、ウィンドウに出力が表示されます。output

于 2013-09-15T14:22:48.840 に答える
2

決定的な答えを出せるかどうかはわかりませんが、手がかりを提供できるかもしれません。

カスタム ビルド ステップ中にコンソール ウィンドウに出力する必要がある古いコードでは、次の行を使用しました。

_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++ からの出力がビルド出力ウィンドウに表示されました。ユニットテストに役立つことを願っています。

于 2013-07-10T19:45:38.697 に答える
1

Microsoft connect trx によると、テスト結果は非推奨です

:(

http://connect.microsoft.com/VisualStudio/feedback/details/750184/test-results-window-does-not-show-test-results

于 2013-07-03T17:35:44.750 に答える