app.config para o teste de unidade de montagem: como fazer as appsettings 'arquivo' trabalho atributo?

StackOverflow https://stackoverflow.com/questions/1425356

Pergunta

Eu preciso ler uma definição da seção appsettings (definido no app.config) em um teste de unidade. Estamos usando mstest neste projeto.

Say este é o app.config:

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

Aqui está o teste correspondente, que passa nesta configuração:

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

Agora, quando tento mover a seção appSettings em um arquivo custom.config, este teste falhar.

Isto é o que minha aparência arquivo app como agora:

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

Eu adicionei o arquivo Custom.config ao meu projeto (com ação de compilação 'copiar sempre'):

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

Ao fazer o mesmo em um aplicativo de console, isso funciona. Existe uma maneira de fazer este trabalho em um teste de unidade de montagem também?

Foi útil?

Solução

Eu encontrei a resposta. Usando mstest, eu precisava para marcar o arquivo 'Custom.config' como um item de implantação no arquivo 'localtestrun.testrunconfig'.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top