代码之家  ›  专栏  ›  技术社区  ›  atamanroman

测试属性是否引发nunit异常

  •  7
  • atamanroman  · 技术社区  · 15 年前

    似乎没有属性的委托。是否有方便的方法来执行以下操作?

    Assert.Throws<InvalidOperationException>(
           delegate
           {
               // Current is a property as we all know
               nullNodeList.GetEnumerator().Current;
           });
    
    4 回复  |  直到 10 年前
        1
  •  8
  •   Niels van der Rest    10 年前

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

    Assert.That(() => nullNodeList.GetEnumerator().Current,
        Throws.InvalidOperationException);
    
        2
  •  6
  •   Anton Gogolev    15 年前
    Assert.Throws<InvalidOperationException>(
        delegate { object current = nullNodeList.GetEnumerator().Current; });
    
        3
  •  1
  •   sukru    15 年前

    为什么不说:

    Assert.Throws<InvalidOperationException>(
        () => nullNodeList.GetEnumerator().Current);
    
        4
  •  1
  •   Darin Dimitrov    15 年前

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

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