C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: Team Sytemのテストでのconfigファイルについて


(過去ログ 76 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■44890 / inTopicNo.1)  Team Sytemのテストでのconfigファイルについて
  
□投稿者/ koty (1回)-(2009/12/22(Tue) 18:26:10)

分類:[.NET 全般] 

お世話になります。

Visual Studio Team Suite 2008 sp1です。

NUnitでは設定ファイルの読み込みは*.dll.configを用意すれば良かったのですが、
Visual Studio でのテスト(MSTest?)では、
ConfigurationSettings.GetConfig(string path)でnullが返ってきているのを見るに、NUnitと同じ手法ではできないようなのです。

どうすれば良いのでしょうか?お分かりになる方いらっしゃいましたら、教えてください。
引用返信 編集キー/
■44933 / inTopicNo.2)  Re[1]: Team Sytemのテストでのconfigファイルについて
□投稿者/ biac (166回)-(2009/12/23(Wed) 13:20:12)
biac さんの Web サイト
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

引用返信 編集キー/
■44966 / inTopicNo.3)  Re[2]: Team Sytemのテストでのconfigファイルについて
□投稿者/ koty (2回)-(2009/12/24(Thu) 11:24:41)
所望の動作になりました。

クラスライブラリの場合も、app.configを置いておけばいいんですね。
今までは、手でbinにコピーして、*.dll.configを置いていました。

> テストが実行されるフォルダーは、 VS2008 のデフォルトでは bin/Debug じゃなかったはずですが、大丈夫ですか?
> それと、 obsoleted な ConfigurationSettings.GetConfig() は、もう使わないほうがいいかも。
こちらについても検討しようと思います。

ありがとうございました。

No44933 (biac さん) に返信
> ■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
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -