Ed Elliott has a post showing how to perform unit testing on ETL processes:
In tSQLt, we can call tSQLt.FakeTable and then do an insert, if we don’t use tSQLt what do we do? Well, we need to setup the data we want, this could be by using a tool or by writing a load of insert statements. I have seen this done in various ways such as:
- Writing manual insert scripts
- Using a tool to setup the data
- Making use of API’s in the application to setup the data we need
- Some wierd and wonderful things that we shouldn’t recommend
Ultimately, for each test that you do you need to know what data you need for it. There isn’t really any way around this, and the sooner you get yourself in the position where you can setup the data you need for a test, the better.
Read the whole thing.