Even though DB code has the right to be considered as full part of an application, testing of such code is not a widespread practice. It's a pity because DB code testing, as well as testing of "main" code, can detect bugs before a black-box stage. In case of the situation when the most logic is concentrated in a DB the refusal from such testing can be very expensive. And what if we have a warehouse full of ETLs? I will tell you about tSQLt - the unit-testing framework for SQL Server. I'll review the pros and cons and features of this tool and compare it with alternatives.