Skip to content

Global After hooks not executing (v0.50.30) #2804

@lizalc

Description

@lizalc

All global After/AfterEvery hooks are no longer executing exept for HookType.TestSession and HookType.TestDiscovery.

Repro.

Source:

namespace tunit_testconfiguration;

public class Tests
{
    [Test]
    public void Basic()
    {
        Console.WriteLine("This is a basic test");
    }
}

public sealed class Hooks
{
    [AfterEvery(Test)]
    public static void AfterTest()
    {
        Console.WriteLine("After every test");
    }

    [After(Class)]
    public static void AfterTestClass()
    {
        Console.WriteLine("After test class");
    }

    [AfterEvery(Class)]
    public static void AfterEveryTestClass()
    {
        Console.WriteLine("After every test class");
    }

    [After(Assembly)]
    public static void AfterTestAssembly()
    {
        Console.WriteLine("After test assembly");
    }

    [AfterEvery(Assembly)]
    public static void AfterEveryTestAssembly()
    {
        Console.WriteLine("After every test assembly");
    }

    [After(TestSession)]
    public static void AfterTestSession()
    {
        Console.WriteLine("After test session");
    }

    [AfterEvery(TestSession)]
    public static void AfterEveryTestSession()
    {
        Console.WriteLine("After every test session");
    }

    [After(TestDiscovery)]
    public static void AfterTestDiscovery()
    {
        Console.WriteLine("After test discovery");
    }

    [AfterEvery(TestDiscovery)]
    public static void AfterEveryTestDiscovery()
    {
        Console.WriteLine("After every test discovery");
    }
}

Output (dotnet run -- --output detailed --config-file ./testconfig.json):

After test discovery
After every test discovery
This is a basic test
passed Basic (19ms)
  Standard output
    This is a basic test
  Error output
After test session
After every test session
Test run summary: Passed! - /home/runner/work/tunit-testconfiguration/tunit-testconfiguration/bin/Debug/net9.0/tunit_testconfiguration.dll (net9.0|x64)
  total: 1
  failed: 0
  succeeded: 1
  skipped: 0
  duration: 178ms

Expectation was to see output messages for every After/AfterEvery hook.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions