Hacker News new | past | comments | ask | show | jobs | submit | ronchalant's comments login

I use TestContainers in my Java Spring Boot application coupled with Liquibase. I have it set up so that the PG instance is created once with Liquibase initializing it from vanilla PG to a fully created empty application database, then all the integration tests reuse the same by overriding the stop() method to an empty one.

Running the full suite of tests is about 5-10 mins on a relatively low-powered build server, whereas on my more robust development workstation it's about 3 mins. Getting a TestContainer running an empty DB for integration tests ends up being a very small portion of the time.

Most of the time any work being performed is done in a transaction and rolled back after the test is completed, though there are some instances where I'm testing code that requires multiple transactions with committed data needing to be available. The one ugly area here is that in some of these outlier test cases I need to add code to manually clear out that data.


You're describing a pretty different testing strategy, where you only use one database and ensure isolation through transactions. It's a good strategy for your use-case, but it's not what the article talks about (they do mention this transactional approach and why it doesn't work for them)


The article is discussing the usecase where each test/set of assertions as a clean DB. I.e. hundreds of DBs per test run.

Are you talking about a single DB reused for each test? That is of course no problem...

Our suite spends 3 to 10 minutes to run too. It provisions about a hundred databases (takes 1 sec each DB template clone.. the wall clock is running stuff in parallell)

Also, every time we change code and run a related test locally we make a new DB to run its test. If that took more than 1 second I would go crazy.


Gates and Jobs helped establish these companies as the powerhouses they are today with their leadership in the 90s and 00s.

It's fair to say that what got MS and Apple to dominance may be different from what it takes to keep them there, but which part of that corporate timeline more closely resembles OpenAI?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: