我遵循这个建议来调试 NUnit 测试。
http://www.blackwasp.co.uk/NUnitCSharpExpress.aspx 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,但我想这应该不重要)。
现在,调试器应该完全忽略 NUnit 断言失败(即抛出、捕获或未捕获,NUnit.Framework.AssertionException
).
UPDATE:这只会阻止闯入调试器,它不能忽略异常本身;即它不会改变实际的程序流程。除了更改、替换或封装 try-catch 块中的断言调用之外,我认为没有任何方法可以实现这一目标(至少不能自动实现)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)