Не удалось подключиться к БД во время тестирования - PullRequest
2 голосов
/ 08 октября 2009

У меня есть приложение asp.net mvc, которое использует базу данных пользователей по умолчанию. Все это работает довольно хорошо, но я хотел бы создать для него несколько тестов. У меня есть тестовый проект, я сразу наткнулся на исключение

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

Но строка подключения работает отлично (по крайней мере, в файле mvc web.config). Исключение выдается моим конструктором логики доступа к Entity DB

public ASPNETDBEntities() : 
            base("name=ASPNETDBEntities", "ASPNETDBEntities")
{
    this.OnContextCreated();
}

Есть идеи? Заранее спасибо.

1 Ответ

2 голосов
/ 08 октября 2009

Проблема заключается в том, что при запуске модульных тестов необходимо, чтобы в файле App.config тестового проекта была установлена ​​строка подключения, чтобы Entity Framework мог ее найти.

Однако, если вы проводите модульное тестирование, вы, скорее всего, вообще не хотите обращаться к БД, а скорее смоделируйте несколько фиктивных объектов для проверки. (Если это трудно сделать в вашем коде, как он есть, вам может понадобиться рефакторинг вашего кода ...)

Третий возможный сценарий состоит в том, что вы проводите интеграцию тестирование и, следовательно, хотите получить a real db при тестировании - однако это не обязательно должно быть 1010 * реальный дБ. Это может быть любая БД с той же схемой базы данных. Я бы порекомендовал создать фиктивную базу данных с некоторыми фиктивными записями, с которыми можно выполнять тесты (и для которых вы добавляете строку подключения в файл App.config в тестовом проекте), которые не будут расти и станут медленнее, когда "настоящий" БД делает.

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