Geo*_*ett 6 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
{
}
}
Run Code Online (Sandbox Code Playgroud)
这是对我有用的(虽然在 Visual Studio Professional 中,而不是 Express,但我想这应该不重要)。
按照 Ninjapig 的建议调出“例外”对话框。
单击按钮Add...,打开“新建异常”对话框。
OK以关闭“新建例外”对话框。Thrown 和 User-unhandled)均未选中。现在,调试器应该完全忽略 NUnit 断言失败(即抛出、捕获或未捕获NUnit.Framework.AssertionException)。
更新:这只会阻止闯入调试器,它不能忽略异常本身;即它不会改变实际的程序流程。除了更改、替换或封装 try-catch 块中的断言调用之外,我认为没有任何东西可以实现这一目标(至少不能自动实现)。
| 归档时间: |
|
| 查看次数: |
3396 次 |
| 最近记录: |