Убедитесь, что в ключах appSettings нет опечаток - PullRequest
0 голосов
/ 02 июля 2018

Допустим, у нас есть веб-приложение с Web.config, например:

<configuration>
   <appSettings>
      <add key="ClientCommunicationsBaseUrl" value="http://somehost.dev.com" />
   </appSettings>
<configuration>

При развертывании приложения значение ('dev') будет заменено в каждой среде. Эта замена выполняется для некоторых инструментов CD, например, Octopus Deploy.

В любом случае, инструмент CD будет ожидать, что ключ написан правильно. Следующее не получится.

<configuration>
 <appSettings>
    <add key="ClientComunicationsBaseUrl" value="http://somehost.dev.com" />
 </appSettings>
<configuration>

Обратите внимание, что в ClientComunicationsBaseUrl есть только одна буква "m" !!

Как мы можем убедиться, что все ключи в файле web.config верны перед его развертыванием ?

1 Ответ

0 голосов
/ 02 июля 2018

Вы хотите выделить этот вид проверки в модульных тестах. В конце концов, ошибки такого типа могут возникать в любое время, когда разработчики работают над кодом, и вы хотите получать оповещения в любое время, когда они происходят.

Возможно, вы захотите включить целый набор тестов, которые проверяют следующее:

  1. Имеются ли все необходимые настройки?
  2. Правильно ли указаны все дополнительные параметры? (То есть вы можете их восстановить?)
  3. Для каждого параметра значение является одним из допустимых значений для параметра?
  4. Если необязательный параметр отсутствует, существует ли разумное значение по умолчанию, определенное и возвращенное для него?

Мы обычно инкапсулируем все взаимодействия с конфигурацией в классе (обычно называемом RuntimeConfig), который несет единоличную ответственность за эту работу. Юнит тесты осуществляют этот класс. Если вы абстрагируете этот класс за интерфейсом, вы также можете использовать mocks для имитации наличия или отсутствия определенных настроек и значений.

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