Search code examples
c#entity-frameworkentity-framework-corexunit

How to set up the DbContext in xUnit test project properly?


I have the following code to set up DBContext in the .Net core 2.0 console program and it's injected to the constructor of the main application class.

    IConfigurationRoot configuration = GetConfiguration();
    services.AddSingleton(configuration);
    Conn = configuration.GetConnectionString("ConnStr1");

    services.AddDbContext<MyDbContext>(o => o.UseSqlServer(Conn));

Now I created a xUnit test class and need to initialize the same DbContext for testing.

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

It gets the error of the parameter connectionString cannot be null. How to set up the DbContext in test project properly?


Solution

  • I found a way to do it.

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