有人可以告诉我为什么这个检查异常的单元测试失败了?显然我真正的测试是检查其他代码,但我使用 Int32.Parse 来显示问题。
[Test]
public void MyTest()
{
Assert.That(Int32.Parse("abc"), Throws.Exception.TypeOf<FormatException>());
}
测试失败,给出此错误。显然,我正在尝试测试此异常,并且我认为我的语法中遗漏了一些内容。
Error 1 TestCase '.MyTest'
failed: System.FormatException : Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
at System.Int32.Parse(String s)
根据位于的文档
试试这个:
Assert.That(() => Int32.Parse("abc"), Throws.Exception.TypeOf<FormatException>());
基本上你需要将一个委托传递给Assert.That
,就像链接状态中的文档一样(请注意,我在这里使用了 lambda 表达式,但它应该是相同的)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)