これは、現在のバージョンの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);
}
}