--
You received this message because you are subscribed to the Google Groups "Quarkus Development mailing list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to quarkus-dev...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CAK1U5v8%3Dj3Xj2DWa1PSwW%2Bwu_7ALv-idtt0g%3Di2OKUb1Ohifdg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/quarkus-dev/CAFif862MPLjk0u1Hm59RO_u3RYd1Jrn3NSVaXCZLJAMLDe_Xvw%40mail.gmail.com.
Hey there,
This question at first sounds a bit weird, but I was wondering whether it's possible to extract the command line functionality that executes the tests into a seperate tooling / process.
What I'm looking for is to run tests in plain Java (not Quarkus) projects with the same speed. The continuous testing of quarkus:dev is currently one of the fastest ways to execute tests -- measuring time from keystroke to test result, this is much faster than the usual IDEs. So first, congratulations for that! :)
What I did as a poc was to add the Quarkus BOM and some dependency (quarkus-resteasy) plus the Maven Plugin, which seems to me is the minimal configuration, but of course a workaround, but that works. Now, it would be nice to have some sort of tool that "compiles everything, executes my tests, either continuously or via keystroke" in the same fast way (< 900ms).
This is all very much tied into our existing Quarkus infrastructure. From resolving the test ClassPath, ClassLoading, compilation, and transforming tests to allow usage tracking everything is built around the Quarkus architecture. The code that actually runs the tests is one of the smallest and simplest pieces of the whole thing.It is certainly possible to take the same concepts and ideas and implement them outside of Quarkus, however you would mostly need to write the whole thing from scratch. This is also much harder if you start trying to allow this for arbitrary environments, as you need to have a custom ClassLoader implementation to allow the modified code to be dropped and re-loaded, and I guarantee you will run into ClassLoading problems at some point that we have solved in Quarkus. It was a lot of work to get this to the current level of polish in an environment we control completely, it's going to be even harder if you want it to work for everything in the Java ecosystem.