c# - 在 Visual Studio C# Express 2010 中调试 Nunit 测试

标签 c# debugging nunit visual-studio-express

我遵循了这个建议来调试 NUnit 测试。

http://www.blackwasp.co.uk/NUnitCSharpExpress.aspx

但是,我有几个测试 Assert.Throws<...> ,当我正在测试的异常发生时,这会导致调试器中断,如果在这些调用之外发生异常,我真的希望它中断。

如何让调试器忽略由这些方法引起的异常?


编辑:我试过下面的方法,但没有用!

[Test]
public void InstanciatingWithNullParameterThrowsException()
{
    try
    {
        Assert.Throws<ArgumentNullException>(() => new CachedStreamingEnumerable<int>(null));
        // This still throws and stops be being able to debug tests called after this one
    }
    catch
    {

    }
}

最佳答案

这是对我有用的(虽然在 Visual Studio Professional 中,而不是 Express,但我想这应该无关紧要)。

  • 按照 Ninjapig 的建议调出“异常”对话框。

  • 点击 Add... 按钮,打开“New Exception”对话框。

  • 在下拉框中选择“Common Language Runtime Exceptions”
  • 在“编辑”框中输入“NUnit.Framework.AssertionException”。
  • 单击确定 关闭“新建异常”对话框。
  • 返回“异常”对话框,确保两个复选框(Thrown User-unhandled)都未选中.

现在,调试器应该完全忽略 NUnit 断言失败(即抛出、捕获或未捕获,NUnit.Framework.AssertionException)。

UPDATE:这只会阻止进入调试器,它不能忽略异常本身;即它不会改变实际的程序流程。除了在 try-catch block 中更改、替换或封装断言调用之外,我认为没有任何东西可以实现这一点(至少不是自动实现的)。

关于c# - 在 Visual Studio C# Express 2010 中调试 Nunit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6943719/

相关文章:

typescript - 在 VS Code 下进行 mocha 调试以使用 mocha 的 --file 选项启动每个测试

linux - 我如何找出本地套接字另一端的程序?

c# - 如何在我想使用 NUnit 测试的方法中模拟方法调用?

visual-studio - 在VS2010 Express中调试Nunit测试

c# - Entity Framework 6 迁移与 MVC 6 RC 1

c# - 快速计算传入数字的最小值、最大值和平均值

c# - 枚举声明中不必要的逗号

c# - .NET 6 发布 Android 应用程序

java - 在 IntelliJ 中使用 Java 调试器时, "Drop Frame"是什么意思?

visual-studio-2012 - 如何将 NUnit 测试适配器与 NUnit 2.6.3 结合使用