通过将 nunit 附加到 VSS 调试器,在调试中的 try 块中引发异常

本文关键字:调试 try 异常 nunit 调试器 VSS | 更新日期: 2023-09-27 18:34:28

我正在使用NUNIT运行此测试用例并将NUNIT附加到Visual studio调试器(调试--->附加到进程--->选择nunit.exe(。

我期待语句"抛出新的异常("发生异常 1!将控件移动到 catch 块中,但控件不会跳转到"捕获",而是跳转到 method2((。

当我只运行 nunit 测试用例而不将 nunit 附加到 .exe 到 Visual Studio 调试器时,代码行为正常。

public void test()
{
try
            {
                method1();
                if (condition1)
                {
                    throw new Exception("Exception 1 occured!");
                }
                method2();  
                if (condition2)
                {
                    throw new Exception("Exception 2 occured!");
                }
                method3();
                if (condition3)
                {
                    throw new Exception("Exception 3 occured!");
                }
            }
            catch (Exception Ex)  <---- Exceptions thrown above are caught here
            {
                logMessage(E.Message);
                throw;                  
            }                   
}

通过将 nunit 附加到 VSS 调试器,在调试中的 try 块中引发异常

Visual Studio可能会在所有异常上中断,而不仅仅是未捕获的异常。因此,当它检测到您抛出异常时,它会停止。在某些情况下,Visual Studio 不会在引发异常的行上显示中断,而是突出显示即将运行的下一行代码。

如果继续单步执行代码,则接下来应会看到它转到catch块。