app.config для сборки модульного теста: как заставить работать атрибут appsettings «файл»? - PullRequest
6 голосов
/ 15 сентября 2009

Мне нужно прочитать параметр из раздела appsettings (определенный в app.config) в модульном тесте. В этом проекте мы используем mstest.

Скажите, что это app.config:

<configuration>
 <appSettings>
   <add key="MyAppSetting" value="MyAppSettingValue"/>
 </appSettings>
</configuration>

Вот соответствующий тест, который проходит в этой настройке:

[TestClass]
public class ConfigurationTests
{
    [TestMethod]
    public void can_read_appsettings()
    {
      string value = ConfigurationManager.AppSettings.Get("MyAppSetting");
      Assert.AreEqual("MyAppSettingValue", value);
    }
}

Теперь, когда я пытаюсь переместить раздел appSettings в файл custom.config, этот тест не пройден.

Вот так выглядит мой файл app.config:

<configuration>
 <appSettings file='Custom.config' />
</configuration>

Я добавил файл Custom.config в свой проект (с действием сборки «копировать всегда»):

 <appSettings>
   <add key="MyAppSetting" value="MyAppSettingValue"/>
 </appSettings>

Когда вы делаете то же самое в консольном приложении, это работает. Есть ли способ заставить это работать и в модульном тесте?

1 Ответ

8 голосов
/ 15 сентября 2009

Я нашел ответ. Используя mstest, мне нужно было пометить файл «Custom.config» как элемент развертывания в файле «localtestrun.testrunconfig».

...