Tests would have @ContainerInstance("InstanceName").
As Arquillian would run these tests, it would stop the currently running container and start the other one.
With this setup, Arq would:
- start InstanceFoo
- run TestsToBeRunOnFooTestCase
- run TestsToBeRunOnFoo2TestCase
- stop InstanceFoo
- start InstanceBar
- run TestsToBeRunOnBarTestCase
- stop InstanceBar
To optimize a bit, Arquillian could order the test to group them by instance name.