Rob Elliot
12/21/2021, 7:00 PMinternal class AuctionSniperEndToEndContainerTest : StringSpec({
tags(Docker)
listener(openfireTestContainer(Paths.get("../docker-openfire")).perSpec())
...
}
import io.kotest.core.Tag
import io.kotest.core.TagExpression
import io.kotest.core.TagExpression.Companion.Empty
import io.kotest.core.TagExpression.Companion.exclude
import io.kotest.core.extensions.TagExtension
object Docker : Tag()
object DockerTagExtension : TagExtension {
override fun tags(): TagExpression =
if (shouldRunDockerTests()) Empty else exclude(Docker)
private fun shouldRunDockerTests() = !runningAsPartOfBuild()
private fun runningAsPartOfBuild() = System.getenv("BUILD_SYSTEM") != null
}
sam
12/21/2021, 7:03 PMtest("foo") { error("boom") }
Rob Elliot
12/21/2021, 7:04 PMsam
12/21/2021, 7:04 PMRob Elliot
12/21/2021, 7:05 PMfun tags(vararg tags: Tag)
in the block passed to StringSpec's constructorsam
12/21/2021, 7:06 PMRob Elliot
12/21/2021, 7:06 PMsam
12/21/2021, 7:06 PMRob Elliot
12/21/2021, 7:07 PMimport io.kotest.core.config.AbstractProjectConfig
@Suppress("unused") // read by reflection
object ProjectConfig : AbstractProjectConfig() {
override fun extensions() = listOf(DockerTagExtension)
}
sam
12/21/2021, 7:08 PMRob Elliot
12/21/2021, 7:10 PMsam
01/16/2022, 9:45 PMRob Elliot
01/16/2022, 10:05 PMsam
01/16/2022, 10:05 PMRob Elliot
01/16/2022, 10:45 PMsam
01/16/2022, 10:50 PM