此多部分參考涵蓋 Power Query 連接器開發人員的標準測試套件設定和執行。 參考是要循序完成,以確保您的環境已設定為測試您的自定義連接器。
既然您已設定環境、上傳測試數據並設定測試套件,您就可以開始使用測試套件來驗證擴充連接器。 在執行測試之前,您必須瞭解測試架構內不同類型的檔案和格式。
在本節中,您會:
- 瞭解測試架構內所使用的檔案格式類型及其功能
PQ/PQOut 格式的測試規格
使用 Power Query SDK 測試架構驗證擴充連接器的測試是以 PQ/PQOut 格式撰寫。
下列清單描述使用 Power Query SDK 測試架構時,您需要注意的檔案類型:
- 測試查詢檔案,也稱為 PQ 檔案,擴展名為 .query.pq。
- 輸出檔案,也稱為 PQOut 檔案,擴展名為 .query.pqout。
- 具有 .parameterquery.pq 擴展名的選擇性參數查詢檔案。
- 擴展名為 .settings 的選用配置檔。
- 擴展名為 .diagnostics 的選擇性診斷檔案。
測試查詢檔案,也稱為 PQ 檔案,擴展名為 .query.pq
測試查詢檔案 (.query.pq) 包含單一 Power Query M 公式語言查詢。 混搭查詢是由具有自定義連接器數據源函式名稱和執行所需元數據的運算式所 let 封裝的變數、運算式和值所組成。
let
Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
Database = Source{[Name="NYCTAXIDB”, Kind="Database"]}[Data],
Schema = Database{[Name="PUBLIC”, Kind="Schema"]}[Data],
Table = Schema{[Name="NYCTAXIDATA”, Kind="Table"]}[Data],
SelectColumns = Table.SelectColumns(Table, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
輸出檔案,也稱為 PQOut 檔案,擴展名為 .query.pqout
輸出檔案 (.query.pqout) 包含產生的輸出,因為執行測試的 compare 命令。
下列範例顯示輸出檔案 (PQOut) 的範例,例如 SnowflakeFirstNTests.query.pqout:
#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})
具有 .parameterquery.pq 擴展名的選擇性參數查詢檔案
若要讓測試案例獨立於數據源執行,PQ/test 查詢檔案的支援可以分割成兩個部分:參數查詢檔案和測試查詢檔案。
參數查詢是數據源特定的,並從數據源擷取測試數據。 如果您想要執行另一個連接器的測試,則必須更新此檔案以指向該特定數據源。
下列範例顯示參數查詢檔案的範例,例如Taxi.parameterquery.pq:
let
Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
Database = Source{[Name="NYCTAXIDB", Kind="Database"]}[Data],
Schema = Database{[Name="PUBLIC", Kind="Schema"]}[Data],
Table = Schema{[Name="NYCTAXIDATA", Kind="Table"]}[Data],
in
Table
提供選擇性參數查詢檔案時,測試查詢只需要包含測試數據的轉換。 這些轉換是測試所需的 M 運算式,且與數據源無關。 然後,測試查詢也需要宣告 M Lambda 函式,以從參數查詢取得結果,並在輸入結果上執行測試邏輯。
下列範例顯示測試查詢的範例,例如 SnowflakeFirstNTest.query.pq:
(parameter) =>
let
SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
擴展名為 .settings 的選擇性配置檔
選擇性配置檔案是 JSON 檔案,其中包含組態參數作為索引鍵值組。
下列範例顯示指定選擇性參數查詢檔案時的設定檔範例:
{
'Extension': 'snowflake.mez',
'ParameterQueryFilePath': 'contoso.parameterquery.pq'
'QueryFilePath': 'contoso.query.pq',
'FailOnMissingOutputFile': true
}
擴展名為 .diagnostics 的選擇性診斷檔案
選擇性診斷檔案目前包含當 M 查詢折疊時產生的命令文字清單。 將它用於查詢折疊的回歸測試。
下列範例顯示診斷檔案的範例,例如 SnowflakeFirstNTest 設定.diagnostics:
[
{
"Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
}
]
推論
本節介紹使用 Power Query SDK 測試架構時需要熟悉的各種文件格式。
在下一節中,您會建立查詢和設定,以使用延伸模塊連接器的數據源。