Возможно ли использовать moq и переопределить конструктор с библиотекой Moq?Как мок и переопределить конструктор?
У меня есть класс, как это:
public class A{
private string _b;
public A()
{
_b = Service.getB();
}
public int duplicate(int a){
return a*2;
}
}
Я хочу проверить метод «дублировать», но я не могу создать экземпляр объекта типа А, потому что не хватает некоторых зависимостей. Могу ли я как-то переопределить/mock конструктор, чтобы создать объект и использовать его для тестирования других методов?
Изменения должны применяться только в тесте, Я не должен менять класс A.
Лучший дизайн (субъективно) заключается в том, чтобы внедрить вашу зависимость от Сервиса в конструктор. Тогда намного проще выполнить единичный тест (потому что вы можете легко высмеять 'Service.getB()'). – EkoostikMartin
Я предполагаю, что для такого случая нет решения. Благодаря! – gradosevic