Data Flow Data sources Data Bases Stage ETL
Data Flow Data sources Data Bases Stage ETL DWH Flat Files Подход к тестированию хранилища данных на базе MS SQL Server Data Mart
t. SQLt. Test method [Test. Method] public void DWH_Etl_Dictionaries_Test_add() { // Добавить новую запись в источник. Apply. Script("DWH. Dictionaries. Test. source. add-source. sql"); // Добавить новую запись в ожидаемый набор Apply. Script("DWH. Dictionaries. Test. expected. add-expected. sql"); // Запустить пакет Exec. Ssis(package. Name); // Проверить, что новая запись в DWH появилась. Run. Test("[Unit. Tests]. [Test_Add]"); } Подход к тестированию хранилища данных на базе MS SQL Server
Procedure example DECLARE @Values TABLE (@Data, @ EXPECTED) INSERT INTO @Values (@Data, @ EXPECTED) данные, созданные с помощью PICT Tool) VALUES (тестовые DECLARE date_cursor CURSOR FOR SELECT (@Data, @ EXPECTED) FROM @Values SELECT @RES = [DWH. Stage]. tmp_sales. Get. Sales. Accounting. Date(@Data); EXEC t. SQLt. Assert. Equals @expected = @EXPECTED, @Actual = @RES, @message = @MES; Подход к тестированию хранилища данных на базе MS SQL Server
Test data via script INSERT INTO [dbo]. [Product. List] ([Product. ID], [Modified. Date]) SELECT TOP 5000000 ROW_NUMBER() OVER (ORDER BY s 1. [object_id]) , GETUTCDATE() FROM [sys]. all_columns s 1 CROSS JOIN [sys]. all_columns s 2 GO INSERT INTO [dbo]. [Sales] ([Sales. GUID] SELECT NEWID() FROM [dbo]. [Product. List] GO , [Product. ID]) , [Product. ID] Подход к тестированию хранилища данных на базе MS SQL Server
Problems В тесте возможно запустить пакет только из одного SSIS проекта. <profiles> <user name="kryuchkova" ssis-packages-location = ". . SourceEtlDWH. Etl. DictionariesbinDevelopmentDWH. Etl. Dictionaries. ispac“ ssis-packages-config="E: . . SourceEtlConfigurationsKryuchkova. dts. Config“ connection="Data Source=testdb. ru; Initial Catalog=DWH; Integrated Security=True; Pooling=False"> </user> </profiles> Подход к тестированию хранилища данных на базе MS SQL Server
- Slides: 21