C # Uncaught исключение в модульном тесте - PullRequest
6 голосов
/ 15 апреля 2011

Я сталкиваюсь с очень странной проблемой при отладке юнит-теста. Если я отлаживаю модульный тест (ctrl + r ctrl + t), я получаю неперехваченное исключение. Если я просто запускаю модульный тест (ctrl + r t), я не получаю это исключение.

Неперехваченным исключением является NHibernate.ByteCode.ProxyFactoryFactoryNotConfiguredException.

Трассировка стека:

at NHibernate.Bytecode.AbstractBytecodeProvider.get_ProxyFactoryFactory() in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Bytecode\AbstractBytecodeProvider.cs:line 32
at NHibernate.Validator.Util.NHibernateHelper.IsProxyFactoryConfigurated()

Я использовал .Net Reflector, чтобы посмотреть на сборку, которая определяет этот метод (NHibernate.Validator ... это с открытым исходным кодом), и вот метод, который «выдает» исключение:

public static bool IsProxyFactoryConfigurated()
{
    try
    {
        IProxyFactoryFactory proxyFactoryFactory = Environment.BytecodeProvider.ProxyFactoryFactory;
        return true;
    }
    catch (ProxyFactoryFactoryNotConfiguredException)
    {
        return false;
    }
}

Как это исключение не может быть перехвачено этим блоком Try Catch?

Ответы [ 2 ]

3 голосов
/ 15 апреля 2011

Звучит так, как будто вы видите исключение первого шанса .

Включена ли функция "Разбить исключения первого шанса"?Вы должны иметь возможность настроить его в меню «Отладка-> Исключения».

2 голосов
/ 15 апреля 2011

Возможно, в отладчике установлено прерывание «Разорвать на все исключения», в результате чего VS прерывается, как только выдается исключение, независимо от того, было ли оно перехвачено.
Нажмите Отладка, Исключения.

...