Skip to content

Wrong order of executing test fixtures and test steps #78

@ghost

Description

This test example

@RunWith(KTestJUnitRunner::class)
object ExampleSpec : AllureSpec({
    after { doSomething(whereAmI = "after") }
    afterAll { doSomething(whereAmI = "after all") }
    beforeAll { doSomething(whereAmI = "before all") }
    before { doSomething(whereAmI = "before") }

    restTest(name = "test name", metaInfo = {
        feature("RestTest usage")
        story("simple usage")
        title("Matching by subtree: ${it.method}")
    }) {
        doSomething("inside test step 1")

        url { dictionaries }
        GET()

        doSomething("inside test step 2")
    }
})

fun doSomething(whereAmI: String?) = step("Create something $whereAmI step") {
    println("I was here $whereAmI")
    attach("attachment from $whereAmI", "")
}

has system output:

17:45:04.312 [DEBUG] [TestEventLogger]     I was here inside test step 1
17:45:04.324 [DEBUG] [TestEventLogger]     I was here inside test step 2
17:45:04.358 [DEBUG] [TestEventLogger]     I was here before all
17:45:04.359 [DEBUG] [TestEventLogger]     I was here before
17:45:04.361 [DEBUG] [TestEventLogger] 
17:45:04.361 [DEBUG] [TestEventLogger] partner.update.ExampleSpec > ExampleSpec.Test Case: test name STARTED
17:45:05.781 [DEBUG] [TestEventLogger] 
17:45:05.781 [DEBUG] [TestEventLogger] partner.update.ExampleSpec > ExampleSpec.Test Case: test name STANDARD_OUT
17:45:05.781 [DEBUG] [TestEventLogger]     I was here after all
17:45:05.782 [DEBUG] [TestEventLogger]     I was here after

On my mind the order of executing must be like this:

I was here before all
I was here before
I was here inside test step 1
I was here inside test step 2
I was here after
I was here after all

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions