HostType( "Moles")のConfigurationManager.AppSettingsを読み取ることができません

HostTypeがMolesの場合は、ConfigurationManager.AppSettings経由でデータを取得できません。

2〜3ヶ月前に私の仕事はうまくいっています。しかし、それは働かず、すべてのテストケースが失敗します(ヌル参照例外が発生しました)。

修正してください。ありがとう。

MSDNで発生した関連スレッド

1

1 答え

これは、現在のバージョンのMolesの.Net 4.0の既知のバグです。構成マネージャーを没収し、回避策として必要な値を返すことができます。

例として、これは、SQLに接続せずにデフォルトコンストラクタのコードカバレッジを取得するためにLinq To SQL DataContextのテストをセットアップする方法です。

[TestInitialize]
[HostType("Moles")]
public void Setup()
{
    MCodesConfigurationHelper.DataAccessSettingsGet =() =>
    {
        MCodesDataAccessSettings setting = new MCodesDataAccessSettings();
        setting.DatabaseConnectionStringGet =() => { return "this is a connection string."; };
        return setting;
    };

    MConfigurationManager.ConnectionStringsGet =() =>
    {
        MConnectionStringSettingsCollection strings = new MConnectionStringSettingsCollection();
        strings.ItemGetString = (string connectionString) =>
        {
            var cstring = new MConnectionStringSettings();
            cstring.ToString =() => { return connectionString; };
            cstring.ConnectionStringGet =() => { return connectionString; };
            return cstring;
        };
        return strings;
    };
    MDataContext.ConstructorString = (DataContext dataContext, string connection) => { };
}


[TestMethod]
[HostType("Moles")]
public void DefaultConstructorTest()
{
    using (MyDataContext target = new MyDataContext())
    {
        Assert.IsNotNull(target);
    }
}
0
追加された
お返事をありがとうございます。私は最新の4.0バージョンにのみ私は設定の問題を持って学問からMolesを更新した後、あなたのポイントに同意します。しかし、私の必要性は、多くのメソッドにアクセスするためのデータベースとアプリ設定キーのapp.configにアクセスすることです。ですので、解決策があれば更新してください。
追加された 著者 Hasan K,