これは、.NET 4.0のモグラの現在のバージョンの既知のバグです - あなたは構成マネージャをMOLE、それはあなたが回避策として必要な値を返すことができます。
例として、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);
}
}
ご返信ありがとうございます。私は最新の4.0バージョンにのみ私は設定の問題を持って学問からMolesを更新した後、あなたのポイントに同意します。しかし、私の必要性は、多くのメソッドにアクセスするためのデータベースとアプリ設定キーのapp.configにアクセスすることです。ですので、解決策があれば更新してください。 –