私は何をしたのかわかりませんが、突然Visual Studio 2012はテストをデバッグしません。
Test Explorerからテストを選択し、実行するように指示すると、テスト出力ウィンドウにこれが出力されます。
> ------ Discover test started ------
> ========== Discover test finished: 29 found (0:00:01.3371755) ==========
> ------ Run test started ------ Process with an Id of -1 is not running.
> ========== Run test finished: 0 run (0:00:01.4711861) ==========
それは一体何を意味するのでしょうか?!これを数回行った後、エラーは次のように変わりました。
The Operation was Cancelled
私は確かにそうしなかった。
リスト内のすべてのテストでこれを実行しています。
ただし、テストは問題なく実行でき、合格しますが、テストをデバッグすることはできません。
私は何をしたのでしょうか?私は積極的に設定を変更したり、何かを変更したりはしませんでした。おそらくどこかで迷子になりましたが、どこで?
今日これに遭遇しました。ソリューションを閉じようとしましたが、うまくいきませんでした。私の間違いは、ソリューションをデバッグモードではなくリリースモードに設定したことです。デバッグに設定すると、期待どおりに機能しました。
VS 2015 Professionalを使用しています。
テストプロジェクトをVS 2010からVS 2012 Ultimate Update 3にアップグレードした後、同じ出力が得られました。MSTestコマンドを使用してDebug Selected Tests。
Resharper 8Unit Test Sessionウィンドウを使用してテストをデバッグしようとしました。結果ウィンドウのメッセージは「テストは実行されませんでした」でした。
私を助けた解決策は、このリンクで指示されているように、テストプロジェクトの設定を変更してネイティブコードのデバッグを有効にすることでした: リフレクションを通じて呼び出されたメソッドによってスローされたキャッチされない例外
リンクが機能しない場合:
ソリューションを投稿してくれたGalDude33に感謝します。
Visual Studio 2012で定期的に同じ問題を抱えています。
解決策:現在の解決策を閉じて、再度開きます。
私の場合、VSを閉じて再度開く必要はありませんでした。
以下の手順に従ってください。それは私のために働いた
手順。
1.Visual Studioインスタンスを閉じます
2.一時ファイルをクリーンアップし、ファイルをプリフェッチします。
3.プロジェクトbinフォルダー内のファイルを削除します。
4.アプリケーションを再起動します。
テストプロジェクトがビルドするプロジェクトの一部であることを確認します。
非同期テスト-シナリオの症状は、テストが実行されておらず、ブレークポイントがヒットしていなかったという点で似ていました。 Visual Studioのテストエクスプローラーはテストを表示できましたが、デバッグできませんでした。それを実行すると、テストエクスプローラーで表示される場合でも見つからないかのように動作しました。
それが他の誰かを助ける場合、私の問題は、テストメソッドのシグネチャを「async void」から「async Task」に変更する必要があるのと同じくらい簡単でした。
これを行う:
[TestMethod]
public async Task CorrectlyFailingTest()
{
await SystemUnderTest.FailAsync();
}
これではない:
[TestMethod]
public async void CorrectlyFailingTest()
{
await SystemUnderTest.FailAsync();
}
VS2015で同様の問題が発生していました。私の場合、1つのユニットテストのみをデバッグできませんでした。デバッガーはテストを初期化しますが、テスト自体はデバッグせず、うまく終了します。問題は、プロジェクトのNuGetパッケージを有効にせずにNewtonsoft.JsonライブラリをインポートするResharperにありました。 (Alt + Enterを使用してライブラリを自動的にインポートしました)
ソリューションは、テストプロジェクト用のNewtonsoft.Json NuGetパッケージをインストールすることでした。
Visual Studio 2012を使用する場合、何らかの理由で、ショートカットctrl R + Tを使用すると、ブレークポイントに到達します。ただし、テストエクスプローラーで[すべて実行]または[選択したテストの実行]をクリックしても、実行されません。ただし、Visual Studio 2013は両方の方法で正常に機能します。
私にとっては、MSTest.TestAdapter
およびMSTest.TestFramework
最新バージョンに問題を解決します。
次のリンクをご覧ください。それを修正するアップデートがあります。 Visual Studio 2012アップデート3。
私の場合、ビルド警告があるとブレークポイントに到達できません。これを確認するには、コード行を警告付きで切り替えます。長さ66000の未使用の文字列でした。(警告CS0219変数 'XXXXXXX'が割り当てられていますが、その値は使用されません)
コンパイラがこの行を削除したため、シンボルマッピングが失敗したと思いますか?
提案されたソリューションはどれも私にとってはうまくいきませんでした。私のために働いたのは、ユニットテストプロジェクトとすべての依存プロジェクトのプラットフォームターゲットをx64ではなくAny CPUに変更することです回避策のようなものは本当の修正ではありません!!
[〜#〜] edit [〜#〜]
単体テストプロジェクトのターゲットプラットフォームは、プロジェクトのプロパティではなくテスト設定から変更できます。詳細については this answer を参照してください。
解決策:「デバッグテスト」または「テストの実行」ではなく、「ユニットテストのデバッグ」または「ユニットテストの実行」を選択します。
「テストの実行」を押しても、ブレーキポイントはトリガーされません。
コードをデバッグしてテストのブレークポイントで停止するには:
右クリック>テストのデバッグ
または
「テスト」タブ>デバッグ>すべてのテスト
私にとって問題は、2017 v15.5.7にアップグレードした後、ソリューションのプロパティが何らかの形で変更されたことです。デバッグモードで1回テストを実行できる場所になりましたが、VSを再起動しない限り、もう一度実行することはできません。元に戻すと、再び機能しました。設定は、私にとっては、ソリューション>共通プロパティ>スタートアッププロジェクト>複数のスタートアッププロジェクトでした。どういうわけか、「単一のスタートアッププロジェクト」に設定されました。
Visual Studio 2017(15.8)の時点で、これはライブユニットテスト機能がアクティブなときに発生する可能性があります。出力には明確なメッセージはありません。デバッグなしで開始および停止するだけです。ソリューションはライブテストを停止するので、テストを正常にデバッグできます。
私にとっては、以下が働いた:
私にとっての問題は、構成ファイル(app.config)にデバッグ変換ファイル(app.Debug.config)がなく、追加すると動作することでした/再度デバッグします。
app.configの問題参照は、テストプロジェクトをデバッグするときに、知らないうちにデバッガーをアタッチせず、ブレークポイントにヒットしない可能性があります。このファイルはパッケージによって更新されたか、古くなっている可能性があります。
解決策:通常、テストプロジェクトのapp.configから実行時タグの下にあるすべての依存関係をコピーして削除します。通常、デバッグは正常に動作し始めますが、アセンブリが見つからない場合は、一部の参照を追加し直す必要があります。
これはあなたの問題に対する具体的な解決策ではないかもしれませんが、私が書いたテストをデバッグすることもできませんでした。解決策は非常に簡単でした:
メソッドをprivate
からpublic
に変更します。プライベートメソッド内でデバッグができない理由はわかりませんが、おそらく[Test]
属性の実装。これが将来同様の問題に苦しんでいる人を助けることを願っています!