2012-03-12 11 views
3

ユニットテストをクリックし、コンテキストメニューで "テストを実行"します。テスト結果は、新しいテストが表示されず、最後のテストを何度も何度もやり直すような、良いテストを開始しません。私の設定に何が間違っていますか?VS2010実行ユニットテスト(バグ)

誰も同じ問題を経験していますか?

+0

あなたのプロジェクトをクリーニングして再構築しましたか? –

答えて

0

通常のプロジェクトでも同様のバグが発生します。 VSのテキストエディタで開いているファイルがあり、そのファイルがDLLであるプロジェクトAに属しているとします。次に、exeであるプロジェクトBを右クリックし、[デバッグ|新規インスタンスの開始]を選択します。時には(必ずしもそうではない)、VSはプロジェクトAを開始しようとするので、「クラスライブラリの出力タイプを持つプロジェクトを開始できません」というエラーが表示されます。

この場合、私はプロジェクトBからファイルを開き、プロジェクトBを開始する間にファイルをアクティブなものとして保持します。これは問題を回避します。したがって、実行するテストからファイルを開いて、コンテキストメニューから実行しながらアクティブにしてください。私はこのバグがテストの実行にも影響を与えていると思います。私はバグレポートを提出することを考えましたが、私は怠け者になってしまいました...

0

Visual Studioは、しばしば新しいテストについて気まぐれです。 IDEが新しいテストを書いているときにそれを取り上げるかどうかを決める構成設定(ツール - >オプション)がありますが、これはパフォーマンスブタのビットなのでデフォルトでは無効になっています。

Visual Studioは、VSDMIファイルを使用して、ソリューション内のテストに関するメタデータを表します。このファイルは、通常、ソリューション全体の分析が実行されないか、新しいテストを検出できない場合でも、ソリューションのコンパイル時に更新されます。このファイルが同期しなくなったり、実行しようとしているテストがVSDMIにまだ存在していない場合は、「現在のコンテキストでテストを実行する」機能が期待どおりに機能しません。時にはneabyテストを実行し、時にはすべてのテストを実行することもあります。

解決するには、新しいテストのバックグラウンドディスカバリを有効にするか、テストリストエディタビューを開いてツールバーの更新アイコンをクリックします。リフレッシュアイコンは、vsdmiの迅速な再コンパイルと更新を強制します。

0

新しいテストを追加すると、テストを実行するためのコンテキストメニューオプションが期待どおりに動作することはまれであることがわかりました。しかし、キーボードショートカットははるかに良く機能します。 Control-R、Tは「現在のコンテキスト」でテストを実行します。カーソルがテストメソッドにある場合、そのメソッドが実行されます。テストクラスに含まれている場合、クラス内のすべてのテストが実行されます。それがクラスの外にある場合は、アセンブリ内のすべてのテスト(またはおそらく名前空間)を実行すると信じています。いくつかのショートカットがありますhere。 Control-R、Control-Tはデバッガで '現在のコンテキスト'テストを実行することにも注意してください。

関連する問題