Проверить, если свойство вызывает исключение с помощью 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);