Yes, what I personally like about the approach of kind of half-manually
starting up the DB is that you can later look at the results. And it is WAY
faster than a JUnit rule which runs on every test.
Plus I know the author, so if any problems arise... ;)
The goal of all this junit4/docker changes is to make it easier to run unit
tests.
LieGrue,strub
On Tuesday, 23 October 2018, 08:27:59 CEST, Francesco Chicchiriccò
<[email protected]> wrote:
On 22/10/18 20:38, Mark Struberg wrote:
> Hi folks!
> Today I started playing with a maven profile to start various databases via
> Docker.The idea is to be able to start and stop various databases from the
> commandline or via jenkins.Had a chat with Francesco and he pointed me to how
> they do it in Syncope. Was a good start.
> Since most of our tests are unit test and not ITs I think it's for now better
> to have to start the databases manually, then do the test and stop it again.
> We could also do this in a pre and post step in Jenkins.An objections?Or
> should we just move forward and try it out.And later change it if we find
> there is a better way?
+1 to use Docker containers to support the various DBMSes.
I have personally found io.fabric8:docker-maven-plugin very flexible and
useful, especially when used together with maven-failsafe-plugin, e.g.
with integration tests.
With maven-surefire-plugin, instead, it is not clear if there is a way
to clean up afterwards, when one or more tests are failing.
I am aware there are also other approaches (as [1] for example), but
never tried.
Regards.
[1] https://github.com/palantir/docker-compose-rule
--
Francesco Chicchiriccò
Tirasa - Open Source Excellence
http://www.tirasa.net/
Member at The Apache Software Foundation
Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail
http://home.apache.org/~ilgrosso/