Somehow this has been left out from this discussion, but in the days of Docker and testcontainers lib you can use a real DB without any admin overhead. I mean Cayenne itself has self-contained test profiles for MySQL, PostgreSQL and SQLServer. E.g.:
https://travis-ci.org/apache/cayenne/builds/372075043 Andrus > On May 5, 2018, at 1:57 PM, Aristedes Maniatis <a...@maniatis.org> wrote: > > On 3/5/18 5:59am, Ken Anderson wrote: > >> We’re thinking about setting up an in-memory database in place of SQL Server >> for doing unit tests. Does anyone have any experience doing this with >> Cayenne? Any recommendations or warnings? > > > We used to use Derby everywhere (in memory) and it worked pretty well. dbunit > to populate the data. liquibase to generate the schema. > > However I recently moved all our tests over to MariaBD for two reasons: using > a DB which is different to our production DB meant we missed a couple of bugs > where the SQL db choice had subtle differences. Things like case sensitivity > of table names. > > Secondly, MariaDB running in a 4Gb ram disk (/dev/md on FreeBSD) is much > faster than Derby. > > > Ari >