kotest / kotest-extensions-allure

Kotest extensions for Allure Test Reporting
Apache License 2.0
4 stars 5 forks source link

BehaviorSpec fails with NPE in parallel build #5

Closed kgribov closed 2 years ago

kgribov commented 3 years ago

We have a project with lot of BehaviorSpecs. We run build with parallel mode. We started to use allure extension and got next error:

java.lang.NullPointerException: Can't get item from storage: uuid can't be null
    at java.base/java.util.Objects.requireNonNull(Objects.java:233)
    at io.qameta.allure.internal.AllureStorage.get(AllureStorage.java:60)
    at io.qameta.allure.internal.AllureStorage.getTestResult(AllureStorage.java:46)
    at io.qameta.allure.AllureLifecycle.updateTestCase(AllureLifecycle.java:392)
    at io.kotest.extensions.allure.AllureWriter.finishTestCase(AllureWriter.kt:105)
    at io.kotest.extensions.allure.AllureTestReporter.afterTest(AllureTestListener.kt:26)
    at io.kotest.core.spec.LifecycleKt.invokeAllAfterTestCallbacks(lifecycle.kt:97)
    at io.kotest.core.internal.TestCaseExecutor.executeActiveTest(TestCaseExecutor.kt:161)
    at io.kotest.core.internal.TestCaseExecutor.access$executeActiveTest(TestCaseExecutor.kt:57)
    at io.kotest.core.internal.TestCaseExecutor$executeActiveTest$1.invokeSuspend(TestCaseExecutor.kt)

And it fails on Then step, so it confuses a lot, because user thinks test fails due to business logic error.

sksamuel commented 2 years ago

1.0.3 released with the fix.