возможно ли разделить состояние теста между тестами и группами, начатыми в одной основной группе в тесте spek2? Итак, у меня есть следующий тест:
internal object IntegrationTest : Spek({
val testState by memoized(CachingMode.SCOPE) { TestState() }
group("Test for ${level}") {
assertThat(level).describedAs("The level have to be set").isNotNull()
test("Login") {
assertThat("test").isNotBlank()
testState.state = "SUCCESS"
}
group("Test user profile") {
assertThat("test2").isNotBlank()
val username = getUsername()
testState.username = ec2Username
}
}
})
testState доступно в test ("Login") , но для группы ("Test профиль пользователя ") Я получаю ошибку:
'testState' can not be accessed in this context.
java.lang.AssertionError: 'testState' can not be accessed in this context.
at org.spekframework.spek2.runtime.lifecycle.MemoizedValueAdapter.get(MemoizedValueAdapter.kt:33)
at org.spekframework.spek2.runtime.lifecycle.MemoizedValueAdapter.getValue(MemoizedValueAdapter.kt:22)
at com.advantest.swdp.cloudintegration.SWCIntegrationTest$1$1$1$2.invoke(IntegrationTest.kt:33)
at com.advantest.swdp.cloudintegration.SWCIntegrationTest$1$1$1$2.invoke(IntegrationTest.kt:15)
at org.spekframework.spek2.runtime.Collector.group(Collectors.kt:91)
...
Возможно ли вообще разделить состояние между тестами и группами? Что не так?
С уважением