我想在測試失敗時記錄一些上下文信息(如捕獲屏幕截圖)。 NUnit框架中有可擴展性的地方嗎?理想情況下它會是:在NUnit中捕獲斷言
[TearDown]
public void Down(AssertionException ex) {}
但我們沒有它。我試圖創建一個外接但不知道如何將它在運行時進行註冊:
[NUnitAddin]
public class UITestCase : TestCaseBase, NUnit.Core.EventListener, NUnit.Core.Extensibility.IAddin {
.............
public void UnhandledException(Exception exception){}
public bool Install(NUnit.Core.Extensibility.IExtensionHost host) {
IExtensionPoint listeners = host.GetExtensionPoint("EventListeners");
listeners.Install(this);
return true;
}
}
UITestCase
是所有的UI測試我的基類。 Install()
方法只是不被調用。任何提示將不勝感激。
更新:一個外接登記測試都與NUnit的亞軍運行(在我的情況下,它是TestDriven.Net插件VS)和EventListener
成員得到正確調用。問題是,他們都在 TearDown/TestFixtureTearDown方法(我的上下文丟失)之後調用了。
試圖在我的TearDown中使用TestContext.CurrentContext.Result
但訪問要麼State
或Status
屬性會NullReferenceException
:(
哦,不,當你有幾千個測試時,這不是一個選項。 – UserControl 2012-02-02 09:06:00
您可以告訴我,這是數據驅動的測試,還是您有一千個不同的測試用例。 – 2012-02-02 16:45:35