testcontainers-scala icon indicating copy to clipboard operation
testcontainers-scala copied to clipboard

Multiple Suites with Single Container

Open AlexWeinstein92 opened this issue 1 year ago • 2 comments

Currently I have a batch of Suites that inherit from TestContainersForAll through a common custom trait. I want them all to use the same container but cannot seem to figure it out.

Currently my issue is that things compile fine but each Suite only takes in containerDef override as a parameter. This would seem to imply that they each spin up their own container, which is not what I want. Accordingly the containers have many errors like failed to close the response and Local Docker Compose exited abnormally with code 1 whilst running command: --compatibility up -d.

Wondering if there is something else I should use other than TestContainersForAll. I am using override def nestedSuites to run the suites and passing in my containerDef as a parameter to each to override the one spun up in my custom trait that uses TestContainersForAll.

AlexWeinstein92 avatar Apr 19 '23 20:04 AlexWeinstein92

according to the docs

TestContainersForAll will start multiple containers before all tests and stop after all tests

I think you can look into this https://java.testcontainers.org/features/reuse/ but I'm not sure.

8bitreid avatar Jun 17 '23 03:06 8bitreid

I don't think the reuse option will work - in TestContainersForAll I am not actually able to provide a container, it uses the ContainerDef to spin up a container for each suite (as far as I can tell from my test behaviour).

I have also completely forgotten about this ticket because I have moved on to testing a local kubernetes-deployed instance of my project with gatling in place of integration tests. You can close this ticket if desired.

AlexWeinstein92 avatar Jun 22 '23 13:06 AlexWeinstein92