< Summary

Information
Class: Nabs.Tests.FixtureTestBase<T>
Assembly: Nabs.Tests
File(s): /home/runner/work/Nabs/Nabs/src/Nabs.Tests/FixtureTestBase.cs
Tag: 90_14636759620
Line coverage
100%
Covered lines: 21
Uncovered lines: 0
Coverable lines: 21
Total lines: 55
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%
OutputScenario(...)100%11100%
OutputStep(...)100%11100%
StartTest()100%11100%
TeardownTest()100%11100%
InitializeAsync()100%11100%
DisposeAsync()100%11100%

File(s)

/home/runner/work/Nabs/Nabs/src/Nabs.Tests/FixtureTestBase.cs

#LineLine coverage
 1namespace Nabs.Tests;
 2
 3public abstract class FixtureTestBase<TTestFixture>
 4    : IClassFixture<TTestFixture>, IAsyncLifetime
 5    where TTestFixture : TestFixtureBase
 6{
 7
 8    protected FixtureTestBase(ITestOutputHelper testOutputHelper, TTestFixture testFixture)
 9    {
 10        var testClassName = GetType().Name;
 511        var message = $"[{testClassName}] is constructing...";
 12
 513        TestFixture = testFixture;
 514        TestFixture.TestOutputHelper = testOutputHelper;
 15
 516        TestFixture.OutputLine(message);
 517        TestFixture.OutputLine(new string('=', message.Length));
 18
 519    }
 20
 21    protected TTestFixture TestFixture { get; } = default!;
 22
 23    public void OutputScenario(string scenario = "default", [CallerMemberName] string? caller = null)
 24    {
 125        TestFixture.OutputLine($"[{caller}] - Scenario: {scenario}");
 126    }
 27
 28    public void OutputStep(string stepName)
 29    {
 130        TestFixture.OutputLine($"Step: {stepName}");
 131    }
 32
 33    protected virtual async Task StartTest()
 34    {
 535        await Task.CompletedTask;
 536    }
 37
 38    protected virtual async Task TeardownTest()
 39    {
 540        await Task.CompletedTask;
 541    }
 42
 43    public async Task InitializeAsync()
 44    {
 545        TestFixture.OutputLine("Test is initialising");
 546        TestFixture.Initialise();
 547        await StartTest();
 548    }
 49
 50    public async Task DisposeAsync()
 51    {
 552        await TeardownTest();
 553        TestFixture.OutputLine("Test has ended");
 554    }
 55}