Introducing.. dbexpect
I’ve been working on this for a little while now. dbexpect is an rspec-like DSL for automated unit testing ETL processes. For those not in the know that’s code that moves data. Data migrations, business intelligence data warehouses, nonsense like that.
The point is, it’s all focused around making it easy to set up data in a database, run your etl process, and then check expectations of what is now in the database. And it’s open source! Check it out https://github.com/C3/dbexpect
For the record the only other tool I’m aware of that’s targeted at doing this is Dbfit, http://gojko.net/fitnesse/dbfit/ which unfortunately last time I checked was pretty much end of life, and was a very clunky method for doing this kind of testing. Much more suited to testing code that is actually stored in the database.
Oh, I should quickly say many thanks to my employer C3 Products. For allowing us the time to go off and create what we’re interested in and then give it away for free. http://www.c3products.com.au