Moles を使用して構成ファイル内の 1 つの項目を「迂回」する方法を探しています。私がすることができます:
NameValueCollection appsettings = new NameValueCollection();
appSettings.Add("MyKey", "MyValue");
System.Configuration.Moles.MConfigurationManager.AppSettingsGet = () => this.appSettings;
これは正常に動作しますが、テストしようとしているクラスは ConfigSections を含む他の構成設定を使用しており、Moles 迂回路がこれを壊しているようです。セクション全体ではなく、特定の値のみを置き換えたい。TypeMock では、次のことができます。
Isolate.WhenCalled(() => ConfigurationManager.AppSettings["MyKey"]).WithExactArguments().WillReturn("MyValue");
TypeMock を使用して configurationManager をモックすると、テストは成功しますが、Moles バージョン (同じことを行う必要があるように見えます) を使用すると失敗します。
ほくろを使用して TypeMock のように振る舞う方法についての助けをいただければ幸いです。