[解決済み] ユニットテストの中でコンソールに書き込むことはできますか?もし可能なら、なぜコンソールウィンドウが開かないのでしょうか?
質問
Visual Studioでテストプロジェクトを持っています。私は Microsoft.VisualStudio.TestTools.UnitTesting .
私は、ユニットテストの1つにこの行を追加します。
Console.WriteLine("Some foo was very angry with boo");
Console.ReadLine();
テストを実行すると、テストはパスしますが、コンソールウィンドウが全く開きません。
ユニットテストを通じてコンソールウィンドウを操作できるようにする方法はありますか?
どのように解決するのですか?
注:以下のオリジナルの回答は、Visual Studio 2012までのすべてのバージョンのVisual Studioで動作するはずです。Visual Studio 2013では、Test Resultsウィンドウはもうないようです。代わりに、テスト固有の出力が必要な場合は、@Stretch さんの提案である
Trace.Write()
を使用して、Outputウィンドウに出力を書き込むことができます。
は
Console.Write
メソッドは "コンソール" には書きません -- 実行中のプロセスの標準出力ハンドルにフックされているものすべてに書き込みます。同様に
Console.Read
は、標準入力に接続されているものすべてから入力を読み取る。
Visual Studio 2010でユニットテストを実行すると、標準出力はテストハーネスによってリダイレクトされ、テスト出力の一部として保存されます。テスト結果ウィンドウを右クリックして、"Output (StdOut)" という名前の列を表示に追加すると、これを確認することができます。これにより、標準出力に書き込まれたものがすべて表示されます。
あなたは
できる
を使用して、手動でコンソールウィンドウを開きます。
P/インヴォーク
として
sinni800のコメント
. を読む限り
AllocConsole
のドキュメントによると、この関数は
stdin
と
stdout
ハンドルを使って、新しいコンソールウィンドウを指すようにします。(これについては100%の確信があるわけではありませんが、もし私がすでに
stdout
をWindowsに盗まれてしまうので、試したことはないのですが)
コンソールを使ってユニットテストに関する詳細な情報を出力したいだけなら、出力はあなたのためにあるのです。引き続き
Console.WriteLine
のように、テストが終わったらテスト結果ウィンドウで出力結果を確認しましょう。
関連
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
[解決済み】WebForms UnobtrusiveValidationModeは、jqueryのScriptResourceMappingを必要とする
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み】WebResource.axdとは何ですか?
-
[解決済み] .NETコンソールアプリケーションでアプリケーションのパスを取得するにはどうすればよいですか?
-
[解決済み】典型的なテストディレクトリ構造でunittestを実行する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。「戻り値を変更できません」 C#
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] Visual Studioの出力ウィンドウに書き込む
-
[解決済み] System.Diagnostics.Debug.Writeの出力はどこに表示されるのですか?
-
[解決済み] ユニットテストの出力はどのように記述すればよいですか?