Sample project demonstrating the use of SSISTester.
SSISTester is the framework that makes unit and integration testing of SSIS packages possible. It is built on top of SQL Server Integration Services. It enables you to test packages, tasks, precedence constraints and inside data flow tasks. It supports unit and integration tests.
SSISTester helps you to develop you ETL process in the test driven manner and to identify errors early in the development process.
Take a look at introductory presentation.
Read the MSDN article about SSIS testing.
Unit tests are performed in 3 steps that enable you to prepare and verify tests, and to do cleanup after a test has executed. Unit tests are designed to test packages or tasks for a specific use cases, therefore you can write more than one unit test to test different aspects of the same package or task.
It is challenging to create realistic test setup and initial conditions needed for a unit test so the package or task being tested behaves like part of the complete ETL process. To overcome this problem SSISTester supports integration tests - also called live tests. Live test is basically a post-condition, defined for a package/task that needs to be satisfied after the package/task has executed. This post-condition corresponds to the verification step of a unit test. You should use live tests to test you whole ETL process.
Packages as a whole, tasks and precedence constraints can be tested. You can tap paths between data flow components. This enables you to test different paths in a data flow and make sure that expected data comes out at all points. This feature is available for SSIS 2008, 2012 and 2014. Fake source and destination components allow you to eliminate external dependencies.
Execute tests with ReSharper test runner
Execute test with VS test runner
In order to use SSISTester you will need a) SQL Server 2008/2012/2014/2016 with locally installed integration services b) .NET framework 3.5 or newer, c) Visual Studio 2008/2010/2012/2013/2015 and d) Testing Tools for Visual Studio.