Проверить, если свойство вызывает исключение с помощью nunit

Кажется, нет никаких делегатов на свойства. Есть ли удобный способ сделать следующее?

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

4 ответа

Решение

Перемотка вперед на четыре года, и NUnit теперь поддерживает это (текущая версия v2.6 - я не проверял, какая версия была представлена).

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

Вы можете попробовать присвоить его переменной или попробовать перечислить:

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

Почему бы не сказать:

Assert.Throws<InvalidOperationException>(
    () => nullNodeList.GetEnumerator().Current);
Другие вопросы по тегам