jueves, 9 de marzo de 2017

Pruebas unitarias con Entity Framework Core

Las pruebas unitarias contra base de datos siempre son complicadas. Ya que en muchas ocasiones no podemos crear una base de datos vacía para nuestras pruebas. Si utilizamos Entity Framework esta tarea se hace muy sencilla, con este sencillo truco. En la que creamos una base de datos al inicializar el test y la borramos al terminarlo.

Para ello deberemos utilizar los métodos EnsureCreated y EnsureDeleted, las cuales crean y borran una base de datos de una forma muy sencilla.

[ClassInitialize()]
public static void InitDataBase(TestContext context)
{
    using (var db = new MyDbContext())
    {
        db.Database.EnsureCreated();
    }
}

[ClassCleanup]
public static void DeleteDataBase()
{
    using (var db = new MyDbContext())
    {
        db.Database.EnsureDeleted();
    }
}

No hay comentarios: