|
■No44890 (koty さん) に返信
> NUnitでは設定ファイルの読み込みは*.dll.configを用意すれば良かったのですが、
> Visual Studio でのテスト(MSTest?)では、
> ConfigurationSettings.GetConfig(string path)でnullが返ってきているのを見るに、NUnitと同じ手法ではできないようなのです。
テストが実行されるフォルダーは、 VS2008 のデフォルトでは bin/Debug じゃなかったはずですが、大丈夫ですか?
それと、 obsoleted な ConfigurationSettings.GetConfig() は、もう使わないほうがいいかも。
以下、 VS2008 環境が手元に無いので、 VS2010 ですが、同じだったはずです。
【 App.config 】
テスト プロジェクト AppConfigTest のルート フォルダーに App.config を作成。
※ ビルド時に AppConfigTest.DLL.config になって、テスト開始時にテスト実行フォルダーにコピーされる。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="foo" value="bar"/>
</appSettings>
</configuration>
【 テストコード (一部) 】
System.Configuration.Configuration config
= System.Configuration.ConfigurationManager.OpenExeConfiguration(
System.Configuration.ConfigurationUserLevel.None);
Console.WriteLine(config.FilePath);
System.Configuration.AppSettingsSection appSettings
= (System.Configuration.AppSettingsSection)config.GetSection("appSettings");
if (appSettings != null)
{
foreach (string key in appSettings.Settings.AllKeys)
{
string value = appSettings.Settings[key].Value;
Console.WriteLine("Key: {0} Value: {1}", key, value);
}
}
【 出力 】
D:\(…内緒…)\AppConfigTest\TestResults\biac_NANAMI 2009-12-23 13_11_07\Out\AppConfigTest.DLL.config
Key: foo Value: bar
|