ASP.Net MVC - Implementazione di un ambiente di test

1

Vorrei implementare una sorta di ambiente di test per i progetti ASP.Net. Sto cercando di implementarlo come alternativa a prendere in giro il framework di entità.

Ecco cosa sto cercando di ottenere:

  1. Vengono utilizzate due classi DBContext , una per lo sviluppo, una per i test.
  2. Queste due classi DBContext genereranno 2 database tramite Enable-Migration / Update-Migration . Di nuovo, uno per lo sviluppo, uno per i test.
  3. L'aggiunta di una nuova migrazione deve essere applicata sia all'ambiente di sviluppo che all'ambiente di test.

Fondamentalmente, il database di sviluppo e il database di test devono essere identici. Pertanto, il mio obiettivo è trovare un modo in cui dobbiamo eseguire solo ogni tipo di comando una sola volta per controllare entrambi gli ambienti:

  • Enable-Migrations crea due classi di configurazione di migrazione.
  • Add-Migration può essere applicato ai due ambienti.
  • Update-database applica le migrazioni su entrambi gli ambienti.

Ecco il mio primo tentativo di tentativo nelle classi di contesto:

namespace Project.DAL
{

    public class Context : DbContext
    {
        public Context(string connectionString) : base(connectionString) { }
        public Context() : base() { }

        public DbSet<User> Users { get; set; }
        public DbSet<Team> Teams { get; set; }
        public DbSet<Pool> Pools { get; set; }
        public DbSet<Match> Matches { get; set; }
        public DbSet<Invitation> Invitations { get; set; }
    }

    public class Dev : Context
    {
        public Dev() : base("project_dev") { }
    }

    public class Test : Context
    {
        public Test() : base("project_test") { }
    }
}

Come vorresti che ti avvicinassi a questo? Vengo dal framework Ruby On Rails, che ha un ambiente di sviluppo / test simile a quello che sto cercando.

Questo è con l'approccio code-first. Quindi, idealmente, se si dovesse creare un nuovo progetto, progetta i suoi modelli e applica le migrazioni per popolare / creare due database che rappresentano gli ambienti di sviluppo e test.

    
posta Cubia 06.10.2015 - 22:36
fonte

0 risposte

Leggi altre domande sui tag