如果 HostType 为 Moles,那么我无法通过 ConfigurationManager.AppSettings 获取数据
它在 2-3 个月前对我来说工作正常。但它不起作用,我所有的测试用例都失败了(引发了空引用异常)。
请帮我修复。谢谢。
如果 HostType 为 Moles,那么我无法通过 ConfigurationManager.AppSettings 获取数据
它在 2-3 个月前对我来说工作正常。但它不起作用,我所有的测试用例都失败了(引发了空引用异常)。
请帮我修复。谢谢。
这是 .Net 4.0 当前版本的 Moles 中的一个已知错误 - 您可以 Mole 配置管理器并让它返回您想要的值作为解决方法。
例如,这就是我为 Linq To SQL DataContext 设置测试以获取默认构造函数的代码覆盖率而不连接到 SQL 的方式。
[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);
}
}