Как получить исключение, которое вызвало сбой теста из MbUnit TestContext - PullRequest
0 голосов
/ 12 марта 2012

Я посмотрел на TestContext.CurrentContext.Outcome, но у него нет того, что я ищу.

Спасибо

Pawel

Ответы [ 2 ]

2 голосов
/ 17 марта 2012

Объект исключения не сохраняется, хотя можно извлечь трассировку стека и т. Д. Из журнала (см. https://github.com/Gallio/Gallio-VS2011-Integration/blob/master/MbUnitAdapter/MbUnitAdapter/StackTraceHunter.cs).

Вероятно, лучше всего подкласс TestAttribute:

public class InspectExceptionAttribute : TestAttribute
{
    protected override void Execute(PatternTestInstanceState state)
    {
        try
        {
            base.Execute(state);
        }
        catch (Exception e)
        {
            // do something with e
        }
    }
}

public class InspectExceptionTests
{
    [InspectException]
    public void With_interceptor()
    {
        throw new NotImplementedException();
    }

    [Test]
    public void Without_interceptor()
    {
        throw new NotImplementedException();
    }
}
0 голосов
/ 12 марта 2012

Если я правильно понимаю ваш вопрос, я думаю, что вы можете использовать оператор try-catch, чтобы перехватить исключение, а затем использовать его оттуда

...