© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
C#C
C#•3y ago•
2 replies
no >> body

❔ WebApplicationFactory and integration tests

I've run into an issue with my integration tests and I'm looking for some insight. I'm using
WebApplicationFactory
WebApplicationFactory
and trying to set up a configuration inside it. Here's what it looks like:

protected override void ConfigureWebHost(IWebHostBuilder builder)
{
    // Setting up an in-memory collection for my database configuration here
    builder.ConfigureAppConfiguration(
        (context, config) =>
        {
            config.AddInMemoryCollection(
                    new Dictionary<string, string>
                    {
                        [$"{DatabaseConfiguration.SectionName}:{nameof(DatabaseConfiguration.MasterConnectionString)}"] =
                            connectionString,
                        [$"{DatabaseConfiguration.SectionName}:{nameof(DatabaseConfiguration.ReplicaConnectionString)}"] =
                            connectionString
                    });
            // Adding more services and authentication schemes
        });
}
protected override void ConfigureWebHost(IWebHostBuilder builder)
{
    // Setting up an in-memory collection for my database configuration here
    builder.ConfigureAppConfiguration(
        (context, config) =>
        {
            config.AddInMemoryCollection(
                    new Dictionary<string, string>
                    {
                        [$"{DatabaseConfiguration.SectionName}:{nameof(DatabaseConfiguration.MasterConnectionString)}"] =
                            connectionString,
                        [$"{DatabaseConfiguration.SectionName}:{nameof(DatabaseConfiguration.ReplicaConnectionString)}"] =
                            connectionString
                    });
            // Adding more services and authentication schemes
        });
}


Now, I have a separate setup in my
Program.cs
Program.cs
file, where I am adding some services including DbContexts. Here's how it looks:

WebApplicationBuilder builder = WebApplication.CreateBuilder();
// Some services and localization stuff
// ...
builder.Host
    .AddDbContexts<MasterDbContext, ReplicaDbContext>(true, true)
    .AddOpenIddict()
    .AddKafkaProducer<AuditLogProducer>();
WebApplicationBuilder builder = WebApplication.CreateBuilder();
// Some services and localization stuff
// ...
builder.Host
    .AddDbContexts<MasterDbContext, ReplicaDbContext>(true, true)
    .AddOpenIddict()
    .AddKafkaProducer<AuditLogProducer>();


My
AddDbContexts
AddDbContexts
method is actually adding contexts using
UseNpgsql
UseNpgsql
and it takes the connection string from my configuration.
C# banner
C#Join
We are a programming server aimed at coders discussing everything related to C# (CSharp) and .NET.
61,871Members
Resources

Similar Threads

Was this page helpful?
Recent Announcements

Similar Threads

❔ WebApplicationFactory and Minimal-APIs
C#CC# / help
3y ago
Populating IOptions in integration tests
C#CC# / help
3mo ago
How to Override CosmosClient Configuration in WebApplicationFactory for Integration Testing
C#CC# / help
2y ago
How do I write integration tests
C#CC# / help
13mo ago