Код, который вы получили из Startup.cs
, использует делегата, чтобы сообщить вашему приложению, как создать ваш DbContext во время выполнения.
Однако в вашем тесте вам нужно предоставить экземпляр DbContextOptions
, а не просто делегата. Для этого вы можете использовать DbContextOptionsBuilder
:
var options = new DbContextOptionsBuilder<GreenCardContext>()
.UseSqlServer(Configuration.GetConnectionString("MyConnection"))
.Options;
using (GreenCardContext _gc = new GreenCardContext(options))
{
new GCLandingUserModel().AddUser(a,_gc);
}
Кроме того, если вы настаиваете на модульном тестировании вашего DbConext, вы можете рассмотреть возможность использования InMemoryDatabase, чтобы вам не требовалось открытое соединение SQL в ваших тестах. См. этот документ для более подробной информации.