2009-09-15 14 views
6

Ho bisogno di leggere un'impostazione dalla sezione appsettings (definita in app.config) in un test unitario. Stiamo usando più in questo progetto.app.config per assemblaggio test unità: come rendere funzionante l'attributo 'file' delle app?

che questo è l'app.config:

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

Ecco la prova corrispondente, che passa in questa configurazione:

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

Ora, quando provo a spostare la sezione appSettings ad una consuetudine. file di configurazione, questo test fallisce.

Questo è ciò che il mio file app.config assomiglia ora:

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

ho aggiunto il file Custom.config al mio progetto (con l'azione build 'copia sempre'):

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

Quando si fa lo stesso in un'applicazione console, questo funziona. C'è un modo per rendere questo lavoro anche in un assembly unit test?

risposta

8

Ho trovato la risposta. Usando mstest, avevo bisogno di contrassegnare il file 'Custom.config' come un elemento di distribuzione nel file 'localtestrun.testrunconfig'.

+0

Yay! Mi piace configurare le cose per arrivare alla mia configurazione! –

Problemi correlati