2017-09-14 3 views
1

Ich habe den folgenden Code zum Einrichten von DBContext im .Net-Core-2.0-Konsolenprogramm und es ist in den Konstruktor der Hauptanwendungsklasse injiziert.Wie richte ich den DbContext im xUnit-Testprojekt richtig ein?

Jetzt habe ich eine XUnit-Testklasse erstellt und muss den gleichen DbContext zum Testen initialisieren.

context = new MyDbContext(new DbContextOptions<MyDbContext>()); 

Es wird den Fehler des Parameters connectionString nicht null sein kann. Wie richte ich den DbContext im Testprojekt richtig ein?

+3

Sie müssen nur dafür Optionen einzustellen. Als Beispiel wird diese Option verwendet, um db im Speicher zu speichern: 'var optionsBuilder = new DbContextOptionsBuilder (); OptionenBuilder.UseInMemoryDatabase(); var Kontext = neu MyDbContext (optionsBuilder.Options); ' –

Antwort

1

Ich habe einen Weg gefunden, es zu tun.

var dbOption = new DbContextOptionsBuilder<MyDbContext>() 
    .UseSqlServer("....") 
    .Options; 
0

Die George Alexandria ‚s Lösungen für mich arbeiten:

var optionsBuilder = new DbContextOptionsBuilder<MyDbContext>(); 
optionsBuilder.UseInMemoryDatabase(); 
var context = new MyDbContext(optionsBuilder.Options);