我创建了大量方法来帮助我在 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 方法中的抛出位置。