2013-10-02 73 views
2

TestContext.CurrentContext.Test有幾個屬性,如FullName,可以解析該屬性以獲取NUnit中的當前測試方法。但是,當測試名稱被TestCase屬性上的TestName屬性覆蓋時,這些根本無濟於事。如何才能訪問NUnit中的當前測試方法

是否有一種簡單的方法從NUnit測試中獲取當前測試方法的MethodInfo?我不能簡單地使用堆棧跟蹤,因爲在測試方法不在堆棧上時,在SetUp和TearDown中需要此信息。

我使用NUnit的2.6.2。這使我的心是寫一個custom NUnit EventListener addin

回答

0

一兩件事。

然後,您可以掛入測試運行器的運行週期,並且至少在TestStarted過載時您將擁有TestName對象。這將不會直接提供MethodInfo,但您可以通過玩弄那裏的給定屬性來獲得它。

祝你好運!

+0

不幸的是,您發送的鏈接表示EventListeners是異步調用的,因此不會影響測試。因此,似乎有一次我在測試中,我不能使用這種方法來獲得當前的測試方法。 – ChaseMedallion

+0

在每次測試運行之前調用它。然後你可以存儲你需要的信息 - 比如說一個靜態變量 - 並在測試中使用它。 –