Перехват утверждений в 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 - мой базовый класс для всех тестов пользовательского интерфейса. Метод Install () просто не вызывается. Любые советы будут оценены.

Обновление: для регистрации надстройки тесты должны запускаться с помощью NUnit runner (в моем случае это был плагин TestDriven.Net для VS) и EventListener участники должным образом называются. Проблема в том, что все они вызывали после методов TearDown / TestFixtureTearDown (мой контекст утерян).

Пытался использовать TestContext.CurrentContext.Result в моем TearDown, но доступ к свойству State или Status выдает NullReferenceException : (

6
задан UserControl 1 February 2012 в 23:17
поделиться