Не удалось прочитать ConfigurationManager.AppSettings на HostType(Moles)

Если HostType как Moles, то я не могу получить данные через ConfigurationManager.AppSettings

У меня нормально работало 2-3 месяца назад. Но это не сработало, и все мои тестовые примеры провалились (вызвало исключение нулевой ссылки).

Пожалуйста, помогите мне исправить. Благодарю.

Соответствующая тема также поднята в MSDN< /а>


person Hasan K    schedule 28.10.2011    source источник


Ответы (1)


Это известная ошибка в текущих версиях Moles в .Net 4.0. Вы можете использовать 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);
    }
}
person Peter T. LaComb Jr.    schedule 28.10.2011
comment
Спасибо за ответ. Я согласен с вашей точкой зрения, что после обновления Moles с академической до последней версии 4.0 только у меня возникла проблема с конфигурацией. Но мне нужно получить доступ к app.config для базы данных и ключу настройки приложения для доступа ко многим методам. Поэтому, пожалуйста, обновите, если есть какое-либо решение или исправление для этого. - person Hasan K; 03.11.2011