When using TestCaseSource, I cannot get coverage for static initialization code (running test in new process). When not using TestCaseSource, it works as expected.
Is this expected behavior?
Scenario 1
[img=https://i.imgur.com/aDzHAJx.png]Scenario1[/img]
Scenario 2
[img=https://i.imgur.com/8rFaNdK.png]Scenario 2[/img]
[TestFixture]
internal class FixtureWithStaticInit
{
private static int _counter;
private static int[] _testCaseSource = new int[] { 1, 2 };
//[TestCaseSource(nameof(_testCaseSource))]
public void Test2(int tc)
{
Console.WriteLine($"Counter: {_counter}.");
Console.WriteLine($"TC: {tc}.");
}
[Test]
public void Test1()
{
Console.WriteLine($"Counter: {_counter}.");
}
static FixtureWithStaticInit()
{
Interlocked.Increment(ref _counter);
}
}