Muhammad Hewedy Muhammad Hewedy - 9 months ago 21
Java Question

integration tests against different databases

I am working on

to simplify calling to stored procedures.

Currently I wrote a couple of automated integration tests against HSQL which provides in-memeory database mode (and run on
travis-ci
).

Still I need to write more integration tests against other DBMS, example MySQL, SQL Server, Oracle, etc.

According to this answer, I can use MariaDB4j for MySQL in-memory testing.

But what about other DBMS in particular SQL Server and Oracle?

UPDATE: Is HSQLDB database compatibility sufficient?

Answer Source

One possible solution is to run on docker-compose:

An important part of any Continuous Deployment or Continuous Integration process is the automated test suite. Automated end-to-end testing requires an environment in which to run tests. Compose provides a convenient way to create and destroy isolated testing environments for your test suite. By defining the full environment in a Compose file you can create and destroy these environments in just a few commands

https://docs.docker.com/compose/overview/#automated-testing-environments

BTW, Travis-ci support docker