Testando: Entity Framework falsificando contexto

Estou me comendo neste momento. É como se o Entity Framework não fosse testável. Eu li um monte de posts e tópicos onde eles usam unidade de trabalho ou moq ou o padrão de recompra.

Eu estou em uma fase que eu não posso mudar muito da minha arquitetura de meu aplicativo. O aplicativo funciona totalmente neste momento, mas para ter certeza de que preciso ter uma cobertura de código alta, é necessário testá-lo.

Para o teste, eu estou usando o método 'falso contexto' onde eu posso usar o falso para zombar e o real para conexão com o banco de dados.

Eu usei isso como um exemplo.http://romiller.com/2010/09/07/ef-ctp4-tips-tricks-testing-with-fake-dbcontext/

Lá, você pode ver que o contexto é dividido e usado como uma interface. Gostar:

    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; 
        }
    }

    }

Então tesing e tudo funciona. A única coisa que eu não consigo fazer, é testar um controlador com .State nele, onde eu verifico se ele foi alterado Como: EntityState.Modified

Como isso usa uma interface, preciso adicioná-lo ao contexto da interface. E crie um novo. Ou eu estou esquecendo de alguma coisa ? Não é provável que eu crie o método inteiro nesse contexto. Como posso conseguir que isso funcione?

questionAnswers(3)

yourAnswerToTheQuestion