How to use Events.shouldHaveNames method of com.sksamuel.kotest.runner.junit5.StringSpecEngineKitTest class

Best Kotest code snippet using com.sksamuel.kotest.runner.junit5.StringSpecEngineKitTest.Events.shouldHaveNames

StringSpecEngineKitTest.kt

Source:StringSpecEngineKitTest.kt Github

copy

Full Screen

1package com.sksamuel.kotest.runner.junit52import io.kotest.core.spec.IsolationMode3import io.kotest.core.spec.Spec4import io.kotest.core.spec.style.FunSpec5import io.kotest.core.spec.style.StringSpec6import io.kotest.core.test.TestCase7import io.kotest.core.test.TestResult8import io.kotest.matchers.collections.shouldBeEmpty9import io.kotest.matchers.collections.shouldContainExactly10import io.kotest.matchers.shouldBe11import org.junit.platform.engine.discovery.DiscoverySelectors.selectClass12import org.junit.platform.testkit.engine.EngineTestKit13import org.junit.platform.testkit.engine.Events14fun Events.shouldHaveNames(vararg names: String) =15 list().map { it.testDescriptor.displayName }.shouldContainExactly(*names)16fun Events.shouldBeEmpty() = list().shouldBeEmpty()17class StringSpecEngineKitTest : FunSpec({18 test("verify all events") {19 EngineTestKit20 .engine("kotest")21 .selectors(selectClass(StringSpecTestCase::class.java))22 .configurationParameter("allow_private", "true")23 .execute()24 .allEvents().apply {25 started().shouldHaveNames(26 "Kotest",27 "com.sksamuel.kotest.runner.junit5.StringSpecTestCase",28 "a failing test",29 "a passing test",30 "an erroring test",31 )32 skipped().shouldHaveNames("a skipped test")33 failed().shouldHaveNames(34 "a failing test",35 "an erroring test",36 )37 succeeded().shouldHaveNames(38 "a passing test",39 "com.sksamuel.kotest.runner.junit5.StringSpecTestCase",40 "Kotest",41 )42 finished().shouldHaveNames(43 "a failing test",44 "a passing test",45 "an erroring test",46 "com.sksamuel.kotest.runner.junit5.StringSpecTestCase",47 "Kotest",48 )49 aborted().shouldBeEmpty()50 dynamicallyRegistered().shouldHaveNames(51 "com.sksamuel.kotest.runner.junit5.StringSpecTestCase",52 "a failing test",53 "a passing test",54 "an erroring test",55 "a skipped test",56 )57 }58 }59 test("exception in initializer") {60 EngineTestKit61 .engine("kotest")62 .selectors(selectClass(StringSpecExceptionInInit::class.java))63 .configurationParameter("allow_private", "true")64 .execute()65 .allEvents().apply {66 count() shouldBe 867 started().shouldHaveNames(68 "Kotest",69 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInInit",70 "SpecInstantiationException",71 )72 skipped().shouldBeEmpty()73 failed().shouldHaveNames(74 "SpecInstantiationException",75 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInInit"76 )77 succeeded().shouldHaveNames("Kotest")78 finished().shouldHaveNames(79 "SpecInstantiationException",80 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInInit",81 "Kotest"82 )83 dynamicallyRegistered().shouldHaveNames(84 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInInit",85 "SpecInstantiationException",86 )87 }88 }89 test("exception in beforeSpec override") {90 EngineTestKit91 .engine("kotest")92 .selectors(selectClass(StringSpecExceptionInBeforeSpecOverride::class.java))93 .configurationParameter("allow_private", "true")94 .execute()95 .allEvents().apply {96 count() shouldBe 897 started().shouldHaveNames(98 "Kotest",99 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecOverride",100 "Before Spec Error",101 )102 skipped().shouldBeEmpty()103 failed().shouldHaveNames(104 "Before Spec Error",105 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecOverride"106 )107 succeeded().shouldHaveNames("Kotest")108 finished().shouldHaveNames(109 "Before Spec Error",110 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecOverride",111 "Kotest"112 )113 dynamicallyRegistered().shouldHaveNames(114 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecOverride",115 "Before Spec Error",116 )117 }118 }119 test("exception in beforeSpec function") {120 EngineTestKit121 .engine("kotest")122 .selectors(selectClass(StringSpecExceptionInBeforeSpecFunction::class.java))123 .configurationParameter("allow_private", "true")124 .execute()125 .allEvents().apply {126 started().shouldHaveNames(127 "Kotest",128 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecFunction",129 "Before Spec Error",130 )131 skipped().shouldBeEmpty()132 failed().shouldHaveNames(133 "Before Spec Error",134 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecFunction"135 )136 succeeded().shouldHaveNames("Kotest")137 finished().shouldHaveNames(138 "Before Spec Error",139 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecFunction",140 "Kotest"141 )142 dynamicallyRegistered().shouldHaveNames(143 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecFunction",144 "Before Spec Error",145 )146 }147 }148 test("exception in afterSpec override") {149 EngineTestKit150 .engine("kotest")151 .selectors(selectClass(StringSpecExceptionInAfterSpec::class.java))152 .configurationParameter("allow_private", "true")153 .execute()154 .allEvents().apply {155 count() shouldBe 14156 started().shouldHaveNames(157 "Kotest",158 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpec",159 "a failing test",160 "a passing test",161 "After Spec Error",162 )163 skipped().shouldBeEmpty()164 failed().shouldHaveNames(165 "a failing test",166 "After Spec Error",167 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpec",168 )169 succeeded().shouldHaveNames(170 "a passing test",171 "Kotest",172 )173 finished().shouldHaveNames(174 "a failing test",175 "a passing test",176 "After Spec Error",177 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpec",178 "Kotest",179 )180 aborted().shouldBeEmpty()181 dynamicallyRegistered().shouldHaveNames(182 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpec",183 "a failing test",184 "a passing test",185 "After Spec Error",186 )187 }188 }189 test("exception in afterSpec function") {190 EngineTestKit191 .engine("kotest")192 .selectors(selectClass(StringSpecExceptionInAfterSpecFunction::class.java))193 .configurationParameter("allow_private", "true")194 .execute()195 .allEvents().apply {196 count() shouldBe 14197 started().shouldHaveNames(198 "Kotest",199 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpecFunction",200 "a failing test",201 "a passing test",202 "After Spec Error",203 )204 skipped().shouldBeEmpty()205 failed().shouldHaveNames(206 "a failing test",207 "After Spec Error",208 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpecFunction",209 )210 succeeded().shouldHaveNames(211 "a passing test",212 "Kotest",213 )214 finished().shouldHaveNames(215 "a failing test",216 "a passing test",217 "After Spec Error",218 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpecFunction",219 "Kotest",220 )221 aborted().shouldBeEmpty()222 dynamicallyRegistered().shouldHaveNames(223 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterSpecFunction",224 "a failing test",225 "a passing test",226 "After Spec Error",227 )228 }229 }230 test("exception in beforeTest override") {231 EngineTestKit232 .engine("kotest")233 .selectors(selectClass(StringSpecExceptionInBeforeTest::class.java))234 .configurationParameter("allow_private", "true")235 .execute()236 .allEvents().apply {237 count() shouldBe 11238 started().shouldHaveNames(239 "Kotest",240 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTest",241 "a failing test",242 "a passing test",243 )244 skipped().shouldBeEmpty()245 failed().shouldHaveNames(246 "a failing test",247 "a passing test",248 )249 succeeded().shouldHaveNames(250 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTest",251 "Kotest"252 )253 finished().shouldHaveNames(254 "a failing test",255 "a passing test",256 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTest",257 "Kotest",258 )259 aborted().shouldBeEmpty()260 dynamicallyRegistered().shouldHaveNames(261 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTest", "a failing test", "a passing test"262 )263 }264 }265 test("exception in beforeTest function") {266 EngineTestKit267 .engine("kotest")268 .selectors(selectClass(StringSpecExceptionInBeforeTestFunction::class.java))269 .configurationParameter("allow_private", "true")270 .execute()271 .allEvents().apply {272 count() shouldBe 11273 started().shouldHaveNames(274 "Kotest",275 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTestFunction",276 "a failing test",277 "a passing test"278 )279 skipped().shouldBeEmpty()280 failed().shouldHaveNames(281 "a failing test",282 "a passing test",283 )284 succeeded().shouldHaveNames(285 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTestFunction",286 "Kotest"287 )288 finished().shouldHaveNames(289 "a failing test",290 "a passing test",291 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTestFunction",292 "Kotest"293 )294 aborted().shouldBeEmpty()295 dynamicallyRegistered().shouldHaveNames(296 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeTestFunction",297 "a failing test",298 "a passing test"299 )300 }301 }302 test("ExceptionInInitializerError exception in beforeTest") {303 val fullyQualifiedTestClassName =304 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInInitializerErrorInBeforeTestFunction"305 EngineTestKit306 .engine("kotest")307 .selectors(selectClass(StringSpecExceptionInInitializerErrorInBeforeTestFunction::class.java))308 .configurationParameter("allow_private", "true")309 .execute()310 .allEvents().apply {311 count() shouldBe 11312 started().shouldHaveNames(313 "Kotest",314 fullyQualifiedTestClassName,315 "a failing test",316 "a passing test"317 )318 skipped().shouldBeEmpty()319 failed().shouldHaveNames(320 "a failing test",321 "a passing test",322 )323 succeeded().shouldHaveNames(324 fullyQualifiedTestClassName,325 "Kotest"326 )327 finished().shouldHaveNames(328 "a failing test",329 "a passing test",330 fullyQualifiedTestClassName,331 "Kotest"332 )333 aborted().shouldBeEmpty()334 dynamicallyRegistered().shouldHaveNames(335 fullyQualifiedTestClassName,336 "a failing test",337 "a passing test"338 )339 }340 }341 test("exception in afterTest override") {342 EngineTestKit343 .engine("kotest")344 .selectors(selectClass(StringSpecExceptionInAfterTest::class.java))345 .configurationParameter("allow_private", "true")346 .execute()347 .allEvents().apply {348 count() shouldBe 11349 started().shouldHaveNames(350 "Kotest",351 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTest",352 "a failing test",353 "a passing test"354 )355 skipped().shouldBeEmpty()356 failed().shouldHaveNames(357 "a failing test",358 "a passing test",359 )360 succeeded().shouldHaveNames(361 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTest",362 "Kotest"363 )364 finished().shouldHaveNames(365 "a failing test",366 "a passing test",367 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTest",368 "Kotest"369 )370 aborted().shouldBeEmpty()371 dynamicallyRegistered().shouldHaveNames(372 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTest",373 "a failing test",374 "a passing test"375 )376 }377 }378 test("exception in afterTest function") {379 EngineTestKit380 .engine("kotest")381 .selectors(selectClass(StringSpecExceptionInAfterTestFunction::class.java))382 .configurationParameter("allow_private", "true")383 .execute()384 .allEvents().apply {385 count() shouldBe 11386 started().shouldHaveNames(387 "Kotest",388 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTestFunction",389 "a failing test",390 "a passing test"391 )392 skipped().shouldBeEmpty()393 failed().shouldHaveNames(394 "a failing test",395 "a passing test",396 )397 succeeded().shouldHaveNames(398 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTestFunction",399 "Kotest"400 )401 finished().shouldHaveNames(402 "a failing test",403 "a passing test",404 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTestFunction",405 "Kotest"406 )407 aborted().shouldBeEmpty()408 dynamicallyRegistered().shouldHaveNames(409 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInAfterTestFunction",410 "a failing test",411 "a passing test"412 )413 }414 }415 test("exception in beforeSpec with isolation mode instance per leaf") {416 val fullyQualifiedTestClassName =417 "com.sksamuel.kotest.runner.junit5.StringSpecExceptionInBeforeSpecForInstancePerLeaf"418 EngineTestKit419 .engine("kotest")420 .selectors(selectClass(StringSpecExceptionInBeforeSpecForInstancePerLeaf::class.java))421 .configurationParameter("allow_private", "true")422 .execute()423 .allEvents().apply {424 started().shouldHaveNames(425 "Kotest",426 fullyQualifiedTestClassName,427 "Before Spec Error",428 )429 skipped().shouldBeEmpty()430 failed().shouldHaveNames(431 "Before Spec Error",432 fullyQualifiedTestClassName433 )434 succeeded().shouldHaveNames("Kotest")435 finished().shouldHaveNames(436 "Before Spec Error",437 fullyQualifiedTestClassName,438 "Kotest"439 )440 dynamicallyRegistered().shouldHaveNames(441 fullyQualifiedTestClassName,442 "Before Spec Error",443 )444 }445 }446})447private class StringSpecExceptionInBeforeSpecOverride : StringSpec() {448 init {449 "a failing test" {450 1 shouldBe 2451 }452 "a passing test" {453 1 shouldBe 1454 }455 }456 override suspend fun beforeSpec(spec: Spec) {457 throw RuntimeException("zopp!!")458 }459}460private class StringSpecExceptionInBeforeSpecFunction : StringSpec() {461 init {462 "a failing test" {463 1 shouldBe 2464 }465 "a passing test" {466 1 shouldBe 1467 }468 beforeSpec {469 throw RuntimeException("zopp!!")470 }471 }472}473private class StringSpecExceptionInAfterTest : StringSpec() {474 init {475 "a failing test" {476 1 shouldBe 2477 }478 "a passing test" {479 1 shouldBe 1480 }481 }482 override suspend fun afterTest(testCase: TestCase, result: TestResult) {483 throw RuntimeException("craack!!")484 }485}486private class StringSpecExceptionInAfterTestFunction : StringSpec() {487 init {488 "a failing test" {489 1 shouldBe 2490 }491 "a passing test" {492 1 shouldBe 1493 }494 afterTest {495 throw RuntimeException("craack!!")496 }497 }498}499private class StringSpecExceptionInAfterSpec : StringSpec() {500 init {501 "a failing test" {502 1 shouldBe 2503 }504 "a passing test" {505 1 shouldBe 1506 }507 }508 override suspend fun afterSpec(spec: Spec) {509 throw RuntimeException("splatt!!")510 }511}512private class StringSpecExceptionInAfterSpecFunction : StringSpec() {513 init {514 "a failing test" {515 1 shouldBe 2516 }517 "a passing test" {518 1 shouldBe 1519 }520 afterSpec {521 throw RuntimeException("splatt!!")522 }523 }524}525private class StringSpecExceptionInBeforeTest : StringSpec() {526 init {527 "a failing test" {528 1 shouldBe 2529 }530 "a passing test" {531 1 shouldBe 1532 }533 }534 override suspend fun beforeTest(testCase: TestCase) {535 throw RuntimeException("oooff!!")536 }537}538private class StringSpecExceptionInBeforeTestFunction : StringSpec() {539 init {540 "a failing test" {541 1 shouldBe 2542 }543 "a passing test" {544 1 shouldBe 1545 }546 beforeTest {547 throw RuntimeException("oooff!!")548 }549 }550}551private class StringSpecExceptionInInitializerErrorInBeforeTestFunction : StringSpec() {552 init {553 "a failing test" {554 1 shouldBe 2555 }556 "a passing test" {557 1 shouldBe 1558 }559 beforeTest {560 throw ExceptionInInitializerError("Unable to initialize")561 }562 }563}564private class StringSpecTestCase : StringSpec({565 "a failing test" {566 1 shouldBe 2567 }568 "a passing test" {569 1 shouldBe 1570 }571 "an erroring test" {572 throw RuntimeException()573 }574 "a skipped test".config(enabled = false) {575 }576})577private class StringSpecExceptionInInit : StringSpec({578 throw RuntimeException("kapow")579})580private class StringSpecExceptionInBeforeSpecForInstancePerLeaf : StringSpec({581 "a failing test" {582 1 shouldBe 2583 }584 "a passing test" {585 1 shouldBe 1586 }587}) {588 override fun isolationMode(): IsolationMode = IsolationMode.InstancePerLeaf589 override suspend fun beforeSpec(spec: Spec) {590 throw RuntimeException("zopp!!")591 }592}...

Full Screen

Full Screen

Events.shouldHaveNames

Using AI Code Generation

copy

Full Screen

1 import com.sksamuel.kotest.runner.junit5.StringSpecEngineKitTest2 import io.kotest.core.spec.style.StringSpec3 import io.kotest.matchers.shouldBe4 import io.kotest.matchers.shouldNotBe5 import io.kotest.matchers.string.shouldContain6 import io.kotest.matchers.string.shouldNotContain7 import io.kotest.matchers.string.shouldNotStartWith8 import io.kotest.matchers.string.shouldStartWith9 import io.kotest.matchers.types.shouldBeTypeOf10 import io.kotest.matchers.types.shouldNotBeTypeOf11 class ExampleTest : StringSpec({12 "should run all tests" {13 val events = StringSpecEngineKitTest.executeSpec(ExampleTest::class)14 events.shouldHaveNames(15 }16 "should start with should" {17 }18 "should not start with should" {19 }20 "should contain should" {21 }22 "should not contain should" {23 }24 "should be of type String" {25 }26 "should not be of type Int" {27 }28 })

Full Screen

Full Screen

Events.shouldHaveNames

Using AI Code Generation

copy

Full Screen

1 import com.sksamuel.kotest.runner.junit5.StringSpecEngineKitTest2 import io.kotest.core.events.TestResult3 import io.kotest.core.spec.style.StringSpec4 import io.kotest.matchers.shouldBe5 class MyTest : StringSpec({6 "should have names" {7 val results = executeTestsForClass(StringSpecEngineKitTest::class)8 results.shouldHaveNames("should have names", "should have names 2")9 }10 "should have names 2" {11 val results = executeTestsForClass(StringSpecEngineKitTest::class)12 results.shouldHaveNames("should have names", "should have names 2")13 }14 })

Full Screen

Full Screen

Events.shouldHaveNames

Using AI Code Generation

copy

Full Screen

1@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }2@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }3@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }4@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }5@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }6@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }7@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }8@DisplayName("StringSpec engine should have names") @Test fun `StringSpec engine should have names`() { Events.shouldHaveNames ( "StringSpec engine should have names" ) }

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Kotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in StringSpecEngineKitTest

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful