A Fabric Warehouse is T-SQL on OneLake: tables you create and load with SQL, stored as Delta. Testing it looks a lot like testing SQL Server, with two differences: you sign in with Entra ID, and you pay for the queries in Fabric capacity.
The Fabric and OneLake setup answer covers lakehouses and medallion layouts. This page is the warehouse view.
Connect
From Microsoft’s Warehouse Connectivity page, checked November 3, 2026:
| Setting | Value |
|---|---|
| Server | The workspace’s SQL connection string |
| Protocol and port | TDS over TCP 1433 |
| Authentication | Microsoft Entra user or service principal; SQL authentication isn’t supported |
| Database | The warehouse name. Since May 2026, leaving it out connects you to master |
| MARS | Not supported; leave it off |
For an unattended tool, use a service principal or managed identity. The service principal walkthrough has Microsoft’s steps.
What to test
| Layer of the warehouse | Tests that earn their place |
|---|---|
| Staging tables | Row counts against the source, required columns, valid codes |
| Dimensions | Unique business keys, no duplicate rows, no placeholder values |
| Facts | Every foreign key found in its dimension, amounts in range, dates recent |
| Aggregates and reports | Totals that balance against the facts they summarize |
Fabric’s type rules matter here too. Warehouse tables store datetime2 and time with at most six fractional digits, varchar instead of nvarchar, and no money type (data types), so tests copied from a SQL Server suite can need new thresholds.
When gold is a Fabric Warehouse
One medallion layout in Fabric keeps bronze and silver in a lakehouse, where Spark or dataflows land and clean the data, and builds gold in a Warehouse with T-SQL. TestGen reads both through the Fabric SQL analytics endpoint, so give each layer its own table group and its own job:
| Layer | Where it lives | What its tests check |
|---|---|---|
| Bronze | Lakehouse | The load arrived: freshness, row counts, schema changes |
| Silver | Lakehouse | Cleaning worked: required values, valid codes, no duplicates, patterns |
| Gold | Warehouse | The model is right: unique dimension keys, every fact key found in its dimension, totals that balance against silver |
The gold checks that matter most are the cross-table ones: Reference Match from facts to dimensions, and Aggregate Balance from gold totals back to silver. You configure those; data profiling generates the single-table tests. Run the gold suite from the pipeline right after the Warehouse load, so a failure stops the reports that read it. The OneLake medallion post covers the lakehouse layers in detail.
How DataOps TestGen does it
TestGen reads Fabric through its Microsoft OneLake connection, which uses the Fabric SQL analytics endpoint. TestGen’s docs say that endpoint takes its schema and data from the underlying lakehouse or warehouse. The Access Requirements are an Entra ID service principal or managed identity, Contributor or higher on the workspace, and for a service principal the tenant setting “Service principals can use Fabric APIs.”
- Add a Microsoft OneLake connection with the SQL connection string, the warehouse name, and the principal’s credentials. Click Test Connection.
- Create a table group for each schema you want to test.
- Run data profiling: 55 characteristics per column and 32 hygiene detectors.
- Generate tests from 34 test types. Add Reference Match for fact-to-dimension keys and Aggregate Balance for totals.
- Turn on freshness, volume, and schema monitors.
TestGen only runs SELECT statements. To run tests right after a load, call TestGen’s REST API from the Fabric or Data Factory pipeline and fail the pipeline on failed tests, as the Data Factory answer shows.
Open source is free for one user, one connection, and one project. Start at the Microsoft Fabric install page.