Доступ к настройкам App.Config из библиотеки классов, вызываемой через тестовый проект
У меня есть следующие настройки:
ASP.net 3.5 Проект веб-сайтаБиблиотека классов C # с бизнес-логикойБиблиотека классов C # для модульного тестированияБиблиотека бизнес-логики выполняет весь доступ к БД. Он получает строки подключения из файла web.config веб-сайта, открывая System.Configuration.ConfigurationManager.ConnectionStrings. Когда библиотека вызывается веб-сайтом, это прекрасно работает, так как библиотека ищет конфигурацию вызывающей стороны.
Я хочу иметь возможность проверить свою бизнес-логику через библиотеку классов модульного тестирования. Я поместил файл App.config в корень библиотеки классов тестирования. Из того, что я прочитал, когда библиотека тестирования вызывает процедуры доступа к данным, которые являются частью библиотеки бизнес-логики, необходимо получить доступ к параметрам подключения из файла App.config библиотеки тестирования и использовать их. Однако когда я пытаюсь запустить свои модульные тесты, я получаю сообщения об ошибках, которые указывают на то, что библиотека тестирования 'Файл App.config (и / или его содержимое) не был успешно доступен.
Мой поиск свойств конфигурации (из библиотеки бизнес-логики) выглядит следующим образом:
public SqlConnection MainConnection {
get {
string conn = "";
try {
conn = System.Configuration.ConfigurationManager.ConnectionStrings["connString"].ConnectionString;
} catch {
// might be calling from test project. Need to reference app settings
conn = System.Configuration.ConfigurationManager.AppSettings["connString"];
}
return new SqlConnection(conn);
}
}
Когда это вызывается из проекта сайта, это работает. В модульном тесте переменная conn никогда не устанавливается на что-либо (я также пробовал System.Configuration.ConfigurationSettings.AppSettings и использую вместо того же результата). Что мне нужно сделать, чтобы библиотека классов бизнес-логики успешно извлекала настройки библиотек классов модульного теста при вызове из графического интерфейса NUnit?