在NUnit中,我如何明确地通过测试
例如下面的代码在NUnit中,我如何明确地通过测试,nunit,Nunit,例如下面的代码 [Test()] 公开无效测试() { 试一试{ GetNumber(); } 捕获(例外情况除外){ /*在这里失败*/ } ... } 当GetNumber方法引发异常时,我希望测试失败 请告知 非常感谢。所有测试都应该通过,如果您希望出现异常,则应该使用属性。如果您的代码抛出预期的异常,测试将通过。Assert.Fail(): 不过,可能有一个断言Assert.NoThrow或类似的东西,可以确保您的方法不会抛出。您不需要在try/catch中包装GetNumber()。
[Test()]
公开无效测试()
{
试一试{
GetNumber();
}
捕获(例外情况除外){
/*在这里失败*/
}
...
}
当GetNumber方法引发异常时,我希望测试失败
请告知
非常感谢。所有测试都应该通过,如果您希望出现异常,则应该使用属性。如果您的代码抛出预期的异常,测试将通过。Assert.Fail():
不过,可能有一个断言Assert.NoThrow或类似的东西,可以确保您的方法不会抛出。您不需要在try/catch中包装GetNumber()。如果GetNumber()抛出,测试将失败 如果需要显式地失败,请使用() 如果
GetNumber()
返回一个值,则不应执行您试图执行的操作。相反,您应该断言返回值。如果您不希望出现异常,请不要费心检查异常。NUnit框架将解决这一问题,并使您的测试失败
如果GetNumber()
不返回值,可以执行以下三种操作之一:
测试失败相当于从中抛出异常。因此,如果您的方法抛出,测试将失败。检查新版本。NP出于某种原因,我通常会在谷歌上找到NUnits文档的旧版本:)顺便说一句,如果你发现自己处于第三种情况,因为你有复杂的验证逻辑,你可能会想试试。不过,您在这里没有执行非常复杂的断言,所以我将它保存到另一个测试用例:)在这个特定的用例中,您应该使用
Assert.DoesNotThrow(()=>GetNumber())
[Test()]
public void Test( )
{
GetNumber();
}