C# NUnit抛出的正确语法

C# NUnit抛出的正确语法,c#,.net,nunit,C#,.net,Nunit,我需要编写一个测试,验证创建一个对象并传入null参数是否会引发ArgumentNullException 这就是我所拥有的: [Test] public void ThrowsOnNullDependency() { Assert.Throws(() => new FileService(null), Throws.Exception.TypeOf<ArgumentNullException>()); } [测试] public void ThrowsOnNullD

我需要编写一个测试,验证创建一个对象并传入null参数是否会引发
ArgumentNullException

这就是我所拥有的:

[Test]
public void ThrowsOnNullDependency()
{
    Assert.Throws(() => new FileService(null), Throws.Exception.TypeOf<ArgumentNullException>());
}
[测试]
public void ThrowsOnNullDependency()
{
Assert.Throws(()=>newfileservice(null),Throws.Exception.TypeOf());
}
我得到了以下例外。我看过一些不同的网站,所以答案似乎都使用了NUnit的不同功能和语法。使用NUnit3检查某事物是否引发异常的正确方法是什么

CS1503参数2:无法从“NUnit.Framework.Constraints.ExactTypeConstraint”转换为“NUnit.Framework.TestDelegate”

CS1660无法将lambda表达式转换为类型“IResolveConstraint”,因为它不是委托类型


如果您只是想检查是否引发了异常,则以下任一项都可以工作:

Assert.Throws<ArgumentNullException>(() => new FileService(null));

Assert.Throws(typeof(ArgumentNullException), () => new FileService(null));

为什么不将ExpectedException属性添加到测试方法中,因为该属性在NUnit 2中被删除,而我使用的是NUnit 3。为了澄清问题,该属性出现在NUnit 2.x中,但在NUnit 3中被删除
Assert.That(() => new FileService(null), Throws.TypeOf<ArgumentNullException>());