Visual Studio 2010 で単体テスト アサーションを実行するのに役立つ多数のメソッドを作成しました。また、[失敗したまたは決定的でない単体テストの結果をダブルクリックすると、テストの失敗点が表示されます] オプションを有効にしました。実行オプション。私の問題は、これらのヘルパー メソッドでは、ヘルパー メソッド内でスローされる例外ではなく、ヘルパー メソッドを呼び出すスタック フレームを障害点にしたいということです。
明らかに、「ShowDetails」を実行してスタックの上位をクリックすることはできますが、ヘルパー メソッドを使用して節約された時間はほとんど相殺されます。
[Debugger*]
メソッドでさまざまな属性を使用しようとしましたが、成功しませんでした。
私の問題を説明するためのコード例を次に示します。
public void MyTest()
{
// ACT
var res = DoSomething();
// ASSERT
AssertDateRange(res, TimeSpan.FromDays(7));
}
public static void AssertDateRange(DateTime value, TimeSpan range)
{
var difference = DateTime.Now.Subtract(value);
if (Math.Abs(range.TotalMilliseconds) - Math.Abs(difference.TotalMilliseconds) < 0)
{
throw new AssertFailedException("DateTime was not within the expected range from now.");
}
}
ダブルクリックで MyTest メソッド内のメソッド呼び出しに配置したいのですが、現在は AssertDateRange メソッド内のスローに配置しています。