public static void Inicializa() { //Creamos un servidor de pruebas utilizando un ambiente //de testing var builder = new WebHostBuilder() .UseEnvironment("IntegrationTesting") .ConfigureAppConfiguration((c, config) => { config.SetBasePath(Path.Combine( Directory.GetCurrentDirectory(), "..", "..", "..", "..", "CaducaRest")); config.AddJsonFile("appsettings.json"); }) .UseStartup <Startup>(); //Esto nos crea un servidor con los servicios rest var servidorPruebas = new TestServer(builder); //Obtenemos el objeto caducaContext caducaContext = servidorPruebas.Host.Services.GetService(typeof(CaducaContext)) as CaducaContext; //Inicializamos la bd con datos de prueba InicializaDatos.Inicializar(caducaContext); //var total =caducaContext.Usuario.Count(); httpCliente = servidorPruebas.CreateClient(); }
public CaducaContext ObtenerContexto() { //Indicamos que utilizará base de datos en memoria //y que no deseamos que marque error si realizamos //transacciones en el código de nuestra aplicación var options = new DbContextOptionsBuilder <CaducaContext>() .ConfigureWarnings(x => x.Ignore(InMemoryEventId.TransactionIgnoredWarning)) .UseInMemoryDatabase(databaseName: "TestCaduca").Options; //Inicializamos la configuración de la base de datos var context = new CaducaContext(options); //Mandamos llamar la función para inicializar los //datos de prueba InicializaDatos.Inicializar(context); return(context); }
public static void Main(string[] args) { var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; try { var context = services.GetRequiredService <CursosContext>(); InicializaDatos.Inicializar(context); } catch (Exception ex) { var logger = services.GetRequiredService <ILogger <Program> >(); logger.LogError(ex, "An error occurred while seeding the database."); } } host.Run(); }