Использование Activator.CreateInstance (...) в модульном тесте ASP.NET MVC - PullRequest
2 голосов
/ 07 декабря 2010

Сегодня я начал добавлять модульные тесты в проект ASP.NET MVC, который мы разрабатываем в течение некоторого времени.Я создал новый тестовый проект и позволил VS 2010 сгенерировать все тестовые классы.

После выполнения результирующих тестов все тесты не пройдены.Отладка показывает, что большинство тестов не выполняются из-за TargetInvocationException (исключение было вызвано целью вызова.), Которое происходит в строке

object context = Activator.CreateInstance(type);

..., которая используется для инициализации DataContextприложения.Почему это исключение выдается во время тестовых прогонов и как его можно предотвратить?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2010

TargetInvocationException, если выброшено из Activator.CreateInstance, обычно означает, что код внутри конструктора вызывает исключение. Как упоминал Джастин, внутреннее исключение может помочь вам определить, что именно пошло не так.

0 голосов
/ 07 декабря 2010

Я предполагаю, что вы используете Entity Framework вместе (или, может быть, Linq to Sql). Может быть, вам нужно настроить строку подключения в вашем тестовом проекте (через App.config)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...