У меня есть приложение asp.net mvc, в котором используется база данных пользователей по умолчанию. Все это работает очень хорошо, но я хотел бы создать для него несколько тестов. У меня есть тестовый проект, я сразу же наткнетесь на исключениеНе удалось подключиться к DB при тестировании
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
Но строка соединения прекрасно работает (по крайней мере, в web.config в MVC проекта). Исключение выбрано моим логическим логическим элементом логики Entity DB
public ASPNETDBEntities() :
base("name=ASPNETDBEntities", "ASPNETDBEntities")
{
this.OnContextCreated();
}
Любые идеи? Спасибо заранее.
Что делать, если это сценарий во втором абзаце, где контекст фактически издевается, но вы хотите использовать атрибуты контекста базового объекта в макет-объекте? Можете ли вы просто ввести строку mock connection в app.config? – devlord
@lorddev: Я не совсем понимаю, о каком сценарии вы пытаетесь описать, но если вы не можете отправить «простой» макет-объект, настроенный на то, чтобы вернуть все, что вы ожидаете, когда вы с ним взаимодействуете , то вы, вероятно, не достигли четкого разделения ваших слоев - другими словами, вам следует, вероятно, рассмотреть возможность реорганизации вашего кода, чтобы было легче протестировать. –
Я надеялся получить доступ к ObjectStateManager в отключенном контекстном макете. Оказывается, он встроен в EF и зависит от фактического объекта ObjectContext, который не может быть создан без действительной строки подключения EF. – devlord