Наличие одного огромного класса с 70 методами неизбежно приведет к возникновению подобных проблем.Без необходимости реорганизовывать ваш класс DAL, например, в небольших хранилищах, вы можете создать меньшие интерфейсы с несколькими методами, необходимыми для каждого контроллера, и ваш класс DAL реализует многие из этих меньших интерфейсов.После этого вы можете смоделировать только те интерфейсы, которые вам нужны, и ваш контроллер тоже будет зависеть от этого интерфейса.
Это может выглядеть примерно так:
interface A {
void DoAThing();
}
interface B {
void DoBThing();
}
class Mock : A {
public void DoAThing() {
//fake it till you make it
}
}
class DAL : A, B {
//Way too many methods here
}