Hello! Thanks for this effort Harald. I really like the motivation.
I took a look at the PoC and tried to run it with Podman (IIRC officially unsupported by TestContainers so mileage may vary). It took up to 30 seconds to initialize containers already downloaded from
quay.io for a test class. I'm also not a big fan of a common parent class for each test class and I would prefer to have an additional few lines of code in each test class. Otherwise it runs fine.
Thanks to having multiple Maven modules with tests it is currently possible to parallelize the run of individual modules in Jenkins matrix configuration. Is it possible to download all needed containers in a preparation step to not have to do this in every matrix configuration? Initialization like this would add some execution time to the test run.
IMHO it is hard to say if stability will improve in the usual large scale HAL tests are running in. Jenkins nodes we use are virtualized. I can imagine that using TestContainers may improve stability in terms of dependencies - now we would be sure browser and VNC are always present and properly configured but that's not a common problem from my experience. How would using TestContainers improve stability?
If all the changes you mentioned are aimed only at upstream (since you mention GH actions and TeamCity), would it be possible to still run tests without TestContainers?
Does the TestContainers solution suppose to replace existing testsuite?
Thanks!