似乎沒有委託給屬性。有沒有一個方便的方法來做到以下幾點?測試屬性是否拋出異常與nunit
Assert.Throws<InvalidOperationException>(
delegate
{
// Current is a property as we all know
nullNodeList.GetEnumerator().Current;
});
似乎沒有委託給屬性。有沒有一個方便的方法來做到以下幾點?測試屬性是否拋出異常與nunit
Assert.Throws<InvalidOperationException>(
delegate
{
// Current is a property as we all know
nullNodeList.GetEnumerator().Current;
});
快進四年,NUnit現在支持該(當前版本是v2.6 - 我沒有檢查過這個版本的介紹)。
Assert.That(() => nullNodeList.GetEnumerator().Current,
Throws.InvalidOperationException);
爲什麼不說:
Assert.Throws<InvalidOperationException>(
() => nullNodeList.GetEnumerator().Current);
Assert.Throws<InvalidOperationException>(
delegate { object current = nullNodeList.GetEnumerator().Current; });
非常感謝。這很容易(但不是很直觀) – atamanroman 2010-07-30 08:38:40
@Anton嗨安東我想知道這是用來測試公共類的只讀屬性的方法嗎? – Deeptechtons 2012-07-25 05:05:47
你可以嘗試將其分配給一個變量或嘗試列舉:
Assert.Throws<InvalidOperationException>(delegate
{
// Current is a property as we all know
object current = nullNodeList.GetEnumerator().Current;
});
IM與C#2.0的工作:/ – atamanroman 2010-07-30 08:36:30
您仍然需要做一個實際的(扔掉),分配和保持{},那麼:(()=> {VAR X = nullNodeList.GetEnumerator()。當前;}) – nashwan 2013-01-31 16:08:27