< Summary

Information
Class: Nabs.Tests.Fixtures.ConfigurationTestFixtureBase
Assembly: Nabs.Tests
File(s): /home/runner/work/Nabs/Nabs/src/Nabs.Tests/Fixtures/ConfigurationTestFixtureBase.cs
Tag: 90_14636759620
Line coverage
100%
Covered lines: 23
Uncovered lines: 0
Coverable lines: 23
Total lines: 48
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
ConfigureConfiguration(...)100%11100%
ConfigureServices(...)100%11100%
Initialise()100%11100%

File(s)

/home/runner/work/Nabs/Nabs/src/Nabs.Tests/Fixtures/ConfigurationTestFixtureBase.cs

#LineLine coverage
 1namespace Nabs.Tests.Fixtures;
 2
 3public abstract class ConfigurationTestFixtureBase(
 4    IMessageSink diagnosticMessageSink)
 35    : TestFixtureBase(diagnosticMessageSink)
 6{
 7    public IConfigurationRoot ConfigurationRoot { get; private set; } = default!;
 8    public IServiceProvider ServiceProvider { get; private set; } = default!;
 9    public IServiceScope ServiceScope { get; private set; } = default!;
 10
 11    protected virtual void ConfigureConfiguration(IConfigurationBuilder configurationBuilder)
 12    {
 13
 314    }
 15
 16    protected virtual void ConfigureServices(IServiceCollection services)
 17    {
 218    }
 19
 20    public override void Initialise()
 21    {
 322        var superTestFixtureAssembly = GetType().Assembly;
 23
 324        var configurationBuilder = new ConfigurationBuilder();
 325        configurationBuilder
 326            .AddJsonFile("appsettings.json", false)
 327            .AddUserSecrets(superTestFixtureAssembly, true);
 28
 329        ConfigureConfiguration(configurationBuilder);
 330        ConfigurationRoot = configurationBuilder.Build();
 31
 332        var services = new ServiceCollection();
 33
 334        ConfigureServices(services);
 35
 336        ServiceProvider = services
 337            .BuildServiceProvider(
 338                new ServiceProviderOptions
 339                {
 340                    ValidateScopes = true,
 341                    ValidateOnBuild = true
 342                });
 43
 344        ServiceScope = ServiceProvider
 345            .GetRequiredService<IServiceScopeFactory>()
 346            .CreateScope();
 347    }
 48}