2009-09-15 5 views
6

Ich muss eine Einstellung aus dem appsettings Abschnitt (in App.config definiert) in einem Komponententest lesen. Wir verwenden mstest in diesem Projekt.app.config für Unit Test Assembly: Wie funktioniert das Dateiattribut der Appsettings?

Sagen Sie dies der app.config ist:

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

Hier ist der entsprechende Test, der in diesem Setup passiert:

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

Jetzt, wenn ich versuche, den Abschnitt appSettings auf eine benutzerdefinierte zu bewegen. Konfigurationsdatei schlägt dieser Test fehl. Diese

ist, was meine app.config-Datei wie jetzt aussieht:

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

ich die Custom.config Datei auf meinem Projekt (mit Build-Aktion 'Kopie immer') hinzugefügt:

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

Wenn Sie das Gleiche in einer Konsolenanwendung tun, funktioniert dies. Gibt es eine Möglichkeit, dies auch in einer Komponententestmontage zu ermöglichen?

Antwort

8

Ich fand die Antwort. Mit Mstest musste ich die Datei 'Custom.config' als Deployment-Element in der Datei 'localtestrun.testrunconfig' markieren.

+0

Yay! Ich liebe es Dinge zu konfigurieren, um zu meiner Konfiguration zu gelangen! –

Verwandte Themen