Visual Studio 2008 で単体テストの一部をデバッグしようとしていますが、ブレークポイントが実行を停止していないように見えることに気付きました。
ブレークポイントを設定してから「テスト | デバッグ | 現在のコンテキストでテスト」を実行するのと同じくらい簡単だと思っていましたが、設定したブレークポイントに実際にヒットすることはありません。
私は何か間違ったことをしていますか、それとも単に壊れていますか?
ありがとう、ブランドン
Visual Studio 2008 で単体テストの一部をデバッグしようとしていますが、ブレークポイントが実行を停止していないように見えることに気付きました。
ブレークポイントを設定してから「テスト | デバッグ | 現在のコンテキストでテスト」を実行するのと同じくらい簡単だと思っていましたが、設定したブレークポイントに実際にヒットすることはありません。
私は何か間違ったことをしていますか、それとも単に壊れていますか?
ありがとう、ブランドン
最初に aspnet_wp.exe プロセスに手動でアタッチしてから [テストのデバッグ] ボタンをクリックするまで、同じ問題がありました。その後、私のブレークポイントがついにヒットしました。
私の場合System.Diagnostics.Debugger.Break()
、テスト方法にとどまりません。
[TestClass]
public class ContactListTest
{
#region "Constants"
public const string COVERAGE = "CoverageService";
public const string CompanyList = "CompanyList";
public const string ContactList = "ContactList";
#endregion
[TestMethod]
public void GetContactListTest()
{
System.Diagnostics.Debugger.Break();
var ex = new ServiceFilterExpression(COVERAGE);
ex.Expression = new OpBeginsWith("Type", ContactList);
var result = ex.FetchData();
}
}
以下を確認してください。
[TestClass]
てい[TestMethod]
ますか?nUnit を使用する場合は、次のことを行う必要があります
テストしたいDLLでNunitを起動します。次に、Visual Studio で [ツール] -> [プロセスにアタッチ] に移動します。
nunit プロセスを選択し、[アタッチ] をクリックすると、すべてのブレークポイントで停止します
楽しんで :-)
VS2010、VS2008、および VS2005 の MSTESTの公式の Microsoft回避策/kludge/zomg-I-can't-believe-they-can't-be-arsed-to-provide-this-after-4-yearsSystem.Diagnostics.Debugger.Break()
は、追加することですデバッグを開始する単体テストに。これは、単体テスト プロジェクトによって参照されるデバッグ シンボルを含むすべてのプロジェクトで機能します。
.NET ランタイムは、デバッグ モードにダンプする (または実行中の単体テスト プログラムを閉じる、またはデバッグ ラインを無視する) ように求め、(場合によっては) 単体テストを起動した Visual Studio のインスタンスを使用してそうすることができます。新しい VS インスタンスからいつでもデバッグできます。そのSystem.Diagnostics.Debugger.Break()
行にヒットすると、他のすべてのブレークポイントがアクティブになり、ヒットします (それらが実行スタックにあると仮定します)。