2010-11-10 37 views
5

最近升級到NUnit 2.5.8以使用新的TestContext功能。這是爲了讓我們可以判斷目前的測試名稱,以便檢索屬性:在NUnit中使用TestContext時的NullReferenceException 2.5.8

private T GetAttribute<T>() where T : class 
{ 
    return Attribute.GetCustomAttribute(GetType().GetMethod(TestContext.CurrentContext.Test.Name), typeof(T)) as T; 
} 

然而,訪問屬性TestContext.CurrentContext.Test.Name當我們看到NullReferenceException異常,因爲它似乎是NUnit的CallContext中是沒有正確註冊。

是否有其他人遇到過這個問題,或者可以建議從SetUp中確定當前測試名稱的替代方法?

+0

你如何運行測試?您是否使用了可能是問題的特定測試跑步者? – 2010-11-10 15:04:09

+0

由NUnit GUI轉輪和Resharper轉輪展出。 – 2010-11-10 22:26:33

回答

0

這不是一個回答你的問題,但是我碰到了類似的問題,使用TestDriven.NET's xcopy-deployable NUnit Test Runner時使用NUnit的2.5.7,並創下了NullReferenceException因爲TestDriven.NET仍然2.5.5下運行測試(其中它附帶)而不是NUnit我的項目引用。

問題原來是我引用NUnit\NUnit-2.5.7.10213\bin\net-2.0中的,當時我需要引用NUnit\NUnit-2.5.7.10213\bin\net-2.0\framework中的找到的那個。爲什麼有兩個副本我不知道,但指向正確的DLL造成了所有差異。

相關問題