Тестирование: Entity Framework путем фальсификации контекста

Я кушаю себя в этот момент. Как будто Entity Framework не тестируется. Я прочитал много постов и тем, где они используют единицу работы или moq или шаблон репо.

Я нахожусь в фазе, когда я не могу изменить свою архитектуру своего приложения. Приложение полностью работает на данный момент, но, чтобы быть уверенным, мне нужно иметь высокий охват кода, так что тестирование это.

Для тестирования я использую метод «поддельный контекст», где я могу использовать поддельный для насмешки, а реальный - для подключения к базе данных.

Я использовал это в качестве примера.http://romiller.com/2010/09/07/ef-ctp4-tips-tricks-testing-with-fake-dbcontext/

Там вы можете увидеть, что контекст разделен и используется как интерфейс. Подобно:

    public interface IEmployeeContext
    {
        IDbSet Department Departments { get; }
        IDbSet Employee Employees { get; }
        int SaveChanges();
    }

    public class EmployeeContext : DbContext, IEmployeeContext
    {
        public IDbSet Department Departments { get; set; }
        public IDbSet Employee Employees { get; set; }
    }

    public class FakeEmployeeContext : IEmployeeContext
    {
        public FakeEmployeeContext()
        {
            this.Departments = new FakeDepartmentSet();
            this.Employees = new FakeEmployeeSet();
        }

        public IDbSet Department Departments { get; private set; }

        public IDbSet Employee Employees { get; private set; }

        public int SaveChanges()
        { 
         return 0; 
        }
    }

    }

Так что тестирую и все работает. Единственное, что я не могу сделать, это протестировать контроллер с .State в нем, где я проверяю, изменился ли он, например: EntityState.Modified

Поскольку для этого используется интерфейс, мне нужно добавить его в контекст интерфейса. И создать новый. Или я что-то упустил? Скорее всего, я не собираюсь создавать весь метод в этом контексте. Как я могу заставить это работать