19

バックグラウンド コンテキスト: ApplicationSettingsBase から派生してアプリケーションの構成設定のカスタム セットを保存していますが、手動テストは正常に機能しており、構成セットは問題なく保存されています。

また、ConfigSettings 機能の単体テストを行い、シリアル化解除と複数の設定セットの保存 (さまざまな SettingsKeys を使用) の両方が機能していることを確認したいと考えていました。私が選んだ単体テスト フレームワークは NUnit です。

私の TextFixtureSetUp メソッドは次のようになります。

var configSettingsTest = new ConfigSettings("TestSettings");

configSettingsTest.Name = "TestName";
// ...lots of other initializations...

// Serialize the data
configSettingsTest.Save();

私の実際のアプリケーションでは、構成設定が保存されているようです

"<user>\AppData\Local\<myApplication>\<crazyHashKey>"

しかし、単体テストで設定が保存されている場所が見つからないようです。つまり、テストは成功しているので、デシリアライゼーションは (おそらく) 機能していますが、ディスク上のどこに書き込まれているのか正確にはわかりません。また、ApplicationSettingsBase クラスには、パスを保存します。

誰にもアイデアはありますか?

マット・シューバート

アップデート

何が起こっているのか分かりました。私は Resharper を使用して Visual Studio 内から NUnit テストを実行していましたが、Resharper は独自の分離された AppDomain を作成します。したがって、ConfigSettings は次の場所に保存されていました。

"<user>\AppData\Local\JetBrains\<crazyHashKey>"

(JetBrains は Resharper の背後にある会社です)

コマンドラインからビルドスクリプトを使用してこれをテストしたところ、NUnit が同様のことを行うことがわかったので、ConfigSettings は

"<user>\AppData\Local\NUnit.org\<crazyHashKey>"

これが同様の質問をしている他の人の助けになることを願っています! :)

4

0 に答える 0