afterEvaluate is not triggered in unit tests

I am having a rather strange issue. I have a standalone gradle plugin which is essentially a wrapper around maven publication and I want to unit test that publication is created. The publication is created after evaluation as in real build but in unit test the afterEvaluate closure does not get triggered.

Code:

class ArtifactoryPluginTest {
    @get:Rule
    val testProjectDir = TemporaryFolder()
    private lateinit var project: Project
    private lateinit var artifactoryExtension: ArtifactoryExtension
    private lateinit var publishingExtension: PublishingExtension

    @Before
    fun setUp() {
        project = ProjectBuilder.builder()
            .withName("test-project")
            .build()
        project.plugins.apply(ArtifactoryPlugin::class.java)
        artifactoryExtension = project.getExtension()
        publishingExtension = project.getExtension()
    }

    @After
    fun tearDown() {
    }

    @Test
    fun verifyExtensionExists() {
        assertThat(artifactoryExtension).isNotNull()
    }

    @Test
    fun verifyPublishingExtensionExists() {
        assertThat(publishingExtension).isNotNull()
    }

    @Test
    fun verifyExtensionProperties() {
        artifactoryExtension.artifactId("test-project")
        artifactoryExtension.artifactName("Test Project")
        artifactoryExtension.artifactDescription("Test Project Description")
        artifactoryExtension.artifactVersion("1.0.0")
        artifactoryExtension.pom(Action { pom: PomConfig ->
            pom.gitUrl("https://www.example.com")
            pom.scmUrl("https://www.example.com")
        })
        project.afterEvaluate {
             val publication: MavenPublication =
                publishingExtension.publications.getByName("TEST") as MavenPublication
             println("NEVER PRINTS")
             assertThat(publication).isNotNull()
       }
    }
}

I never saw this line in logger: NEVER PRINTS. Any reason why this is not getting triggered?