Adam S
03/07/2024, 4:45 PMIllegalStateException: Nested tests are not supported
Adam S
03/07/2024, 8:24 PMAdam S
03/08/2024, 10:35 AMEmil Kantis
03/08/2024, 9:13 PMAdam S
03/09/2024, 12:53 PMAdam S
03/09/2024, 12:57 PMa context
should have two children, one success and one failureAdam S
03/09/2024, 1:00 PMError: Could not find or load main class io.kotest.engine.launcher.MainKt
Caused by: java.lang.ClassNotFoundException: io.kotest.engine.launcher.MainKt
Emil Kantis
03/09/2024, 1:05 PMAdam S
03/09/2024, 1:07 PMAdam S
03/09/2024, 1:07 PMEmil Kantis
03/09/2024, 1:08 PMEmil Kantis
03/09/2024, 1:08 PMAdam S
03/09/2024, 1:09 PMAdam S
03/09/2024, 1:12 PMAdam S
03/09/2024, 1:13 PMEmil Kantis
03/09/2024, 1:13 PMAdam S
03/09/2024, 1:14 PMAdam S
03/09/2024, 1:15 PMEmil Kantis
03/09/2024, 1:16 PMAdam S
03/09/2024, 5:33 PMAdam S
03/09/2024, 5:34 PMAdam S
03/09/2024, 5:34 PMEmil Kantis
03/09/2024, 5:34 PMAdam S
03/09/2024, 5:50 PMAdam S
03/09/2024, 5:50 PMAdam S
03/09/2024, 5:51 PMEmil Kantis
03/09/2024, 5:52 PMAdam S
03/10/2024, 11:38 AMdescribe()
and it()
js test functions), but it doesn't seem to make any difference.Adam S
03/10/2024, 11:40 AMAdam S
03/10/2024, 11:43 AMdescribe("outer") { describe("inner") {} }
results in 'inner' replacing 'outer'Adam S
03/10/2024, 12:10 PMJest executes all describe handlers in a test file before it executes any of the actual tests.So Kotest shouldn't launch the tests until all the describes() are finished registering the test cases...
Adam S
03/10/2024, 12:16 PMOliver.O
03/10/2024, 4:12 PMwasmJs
target also uses Kotlin's JS test infra, which comes with a subtle difference: With Wasm, the Mocha framework (describe
, it
) is used on JS/browser
(via Karma), but not on `Node.js`: https://kotlinlang.slack.com/archives/CDFP59223/p1702832777305729?thread_ts=1702761028.987939&cid=CDFP59223
• There may be scheduling/timeout problems with coroutines running as part of test containers (describe
); Mocha allows Promises for leaf tests only.Oliver.O
03/10/2024, 4:14 PMEmil Kantis
03/10/2024, 4:28 PMOliver.O
03/10/2024, 4:37 PMAdam S
03/10/2024, 9:49 PMThe upcoming wasmJs target also uses Kotlin's JS test infraCould we just have separate externals for wasmJs and JS?
Oliver.O
03/11/2024, 12:21 AMsam
03/11/2024, 4:34 AMAdam S
03/11/2024, 11:35 AMIt would be cool if you could familiarize yourself with PR #3805 and base your changes on what's already there.Sure thing, I see it's ready to merge so I'll take a look
Adam S
03/11/2024, 11:36 AMdone
promise.Adam S
03/11/2024, 11:43 AMdescribe()
, and run each leaf independently inside a JS it()
.
But yes, your idea of executing the test launcher directly sounds better. I'm already over the limits of my test-engine and JS knowledge though so I wouldn't know where to start with that :)sam
03/11/2024, 12:16 PMOliver.O
03/11/2024, 1:05 PMSome alternatives - don't use mocha at all? We're just executing a JS program, why not just have it run the test launcher directly. We would need to write a node program to launch it though....and a Karma framework plugin.
Oliver.O
03/11/2024, 1:30 PMEmil Kantis
03/11/2024, 1:44 PMOliver.O
03/11/2024, 1:45 PMAdam S
03/11/2024, 1:53 PMOliver.O
03/11/2024, 1:59 PMAdam S
03/11/2024, 2:00 PMso what value would a test runner like Jest add?No idea :) I thought you were proposing to use it
Adam S
03/11/2024, 2:02 PMsam
03/11/2024, 2:12 PMsam
03/11/2024, 2:12 PMsam
03/11/2024, 2:12 PMOliver.O
03/11/2024, 2:14 PMAdam S
03/11/2024, 2:31 PMThe bit I'm not sure on is how easy it is to get intellij to pick it up.I know for JVM tests IntelliJ injects some Gradle config that adds a test listener to the Gradle test tasks. The test listener reacts to the events, and emits some XML over stdout that IntelliJ picks up. So if KMP&Kotest tests trigger the same Gradle test events, then it should just work. Otherwise, Kotest could detect if IntelliJ is currently active (via
idea.active
system property) and emit the XML itself.Adam S
03/11/2024, 2:32 PMsam
03/11/2024, 2:33 PMsam
03/11/2024, 2:33 PMAdam S
03/11/2024, 2:35 PMsam
03/11/2024, 2:35 PMsam
03/11/2024, 2:36 PM