测试属性是否与nunit抛出异常

时间:2010-07-30 08:30:41

标签: c# properties delegates c#-2.0 nunit-2.5

似乎没有属性的代表。有没有方便的方法来执行以下操作?

Assert.Throws<InvalidOperationException>(
       delegate
       {
           // Current is a property as we all know
           nullNodeList.GetEnumerator().Current;
       });

4 个答案:

答案 0 :(得分:9)

快进四年,NUnit现在支持这个(当前版本是v2.6 - 我还没有检查引入了哪个版本)。

Assert.That(() => nullNodeList.GetEnumerator().Current,
    Throws.InvalidOperationException);

答案 1 :(得分:7)

Assert.Throws<InvalidOperationException>(
    delegate { object current = nullNodeList.GetEnumerator().Current; });

答案 2 :(得分:1)

为什么不说:

Assert.Throws<InvalidOperationException>(
    () => nullNodeList.GetEnumerator().Current);

答案 3 :(得分:1)

您可以尝试将其分配给变量或尝试枚举:

Assert.Throws<InvalidOperationException>(delegate
{
    // Current is a property as we all know
    object current = nullNodeList.GetEnumerator().Current;
});