示例#1
0
        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();
        }
示例#2
0
        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);
        }
示例#3
0
        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();
        }