1

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

4

0 回答 0