Я пытался отделить ConfigurationManager
, чтобы я мог высмеять его.
Вот мой класс и интерфейс
public class Settings
{
public string this[string index] => ConfigurationManager.AppSettings[index];
}
public class ConfigurationRepository : IConfigurationRepository
{
public virtual Settings AppSettings
{
get { return new Settings(); }
}
}
public interface IConfigurationRepository
{
Settings AppSettings { get; }
}
Вот как я это высмеиваю
_configurationManager = new Mock<IConfigurationRepository>();
_configurationManager.SetupGet(m => m.AppSettings["someKey"]).Returns("someResult");
Но когда я пытаюсь проверить это, я получаю исключение
Неверная настройка для не виртуального (переопределяемого в VB) члена: m => m.AppSettings ["someKey"]
И тест не пройден, он даже не проходит мимо моего Setup
метода.
И я понятия не имею, почему я получаю это исключение, может кто-нибудь сказать мне, что я делаю неправильно?