использование WebConfigurationManager в модульных тестах - PullRequest
4 голосов
/ 08 сентября 2011

Я пытаюсь написать несколько модульных тестов, которые тестируют код, который изменяет время выполнения web.config.Для загрузки Web.config используется WebConfigurationManager.OpenWebConfiguration.Это не очень хорошо работает в модульных тестах.

Какие варианты у меня есть?Я пытался:

  1. Настройка теста как ASP.NET-тест с атрибутами метода.Это кажется хрупким, потому что вам нужно жестко кодировать порт, на котором сервер разработки работает с [UrlToTest ("http://localhost:25153/WebSite1")]. Мне нужно, чтобы тест выполнялся на нескольких компьютерах, настроенных по-разному. Также я чувствую, что запускать сервер IIS излишнебыть в состоянии загрузить текстовый файл в модульном тесте.

  2. Загрузить конфигурацию с диска, используя другие методы. Я пробовал configurationManager.OpenExeConfiguration (), и я получаю объект конфигурации обратно, но это, кажется, не было проанализировано правильно. В частности, раздел sessionState в system.web, который является веб-настройкой, так что это не очень удивительно.

ГдеЯ иду отсюда?

1 Ответ

0 голосов
/ 08 сентября 2011

Какова ваша конечная цель при чтении web.config? В зависимости от того, что вы пытаетесь достичь, есть много разных способов чтения web.config. Если вы пытаетесь прочитать connectionString, используйте: Импортирует System.Web.Configuration.WebConfigurationManager Тогда в вашем коде используйте: Dim cn As SqlConnection = New SqlConnection (ConnectionStrings ("ConnectionStringName"). ToString ()) Если вы пытаетесь прочитать пользовательские настройки приложения: Значение dim как String = ConfigurationSettings.AppSettings ("имя ключа здесь") Это зависит от того, что вы пытаетесь прочитать.

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