Struktura testowa zestawu SDK dodatku Power Query — część 4 — specyfikacja formatu testu
Ta wieloczęściowa dokumentacja obejmuje konfigurację i uruchamianie standardowego zestawu testów dla deweloperów łącznika Dodatku Power Query. Odwołanie ma być wykonywane sekwencyjnie, aby upewnić się, że środowisko jest skonfigurowane do testowania łącznika niestandardowego.
Po skonfigurowaniu środowiska, przekazaniu danych testowych i skonfigurowaniu zestawu testów możesz rozpocząć weryfikowanie łącznika rozszerzeń przy użyciu zestawu testów. Przed uruchomieniem testów należy poznać różne typy plików i formatów w ramach platformy testowej.
W tej sekcji omówiono następujące zagadnienia:
- Poznaj typy formatów plików używanych w strukturze testów i ich funkcjonalność
Specyfikacja testów w formacie PQ/PQOut
Testy sprawdzania łączników rozszerzeń za pomocą platformy testowej zestawu POWER Query SDK są zapisywane w formacie PQ/PQOut.
Poniższa lista zawiera opis typów plików, o których należy pamiętać podczas pracy z platformą testową zestawu SDK dodatku Power Query:
- Plik zapytania testowego, znany również jako plik PQ, z rozszerzeniem query.pq.
- Plik wyjściowy, znany również jako plik PQOut z rozszerzeniem query.pqout.
- Opcjonalny plik zapytania parametrów z rozszerzeniem .parameterquery.pq.
- Opcjonalny plik ustawień z rozszerzeniem .settings.
- Opcjonalny plik diagnostyczny z rozszerzeniem diagnostyki.
Plik zapytania testowego, znany również jako plik PQ, z rozszerzeniem .query.pq
Plik zapytania testowego (.query.pq) zawiera jedno zapytanie języka formuł Power Query M. Zapytanie mashup składa się ze zmiennych, wyrażeń i wartości hermetyzowanych przez let
wyrażenie z niestandardową nazwą funkcji źródła danych łącznika i wymaganymi metadanymi do wykonania.
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
Plik wyjściowy, znany również jako plik PQOut z rozszerzeniem query.pqout
Plik wyjściowy (.query.pqout) zawiera wygenerowane dane wyjściowe w wyniku uruchomienia polecenia compare dla testu.
Poniższy przykład przedstawia przykład pliku wyjściowego (PQOut), na przykład SnowflakeFirstNTests.query.pqout:
#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})
Opcjonalny plik zapytania parametrów z rozszerzeniem .parameterquery.pq
Aby przypadki testowe działały niezależnie od źródła danych, obsługę pliku zapytania PQ/test można podzielić na dwie części: plik zapytania parametrów i plik zapytania testowego.
Zapytanie parametru jest specyficzne dla źródła danych i pobiera dane testowe ze źródła danych. Jeśli chcesz uruchomić testy dla innego łącznika, musisz zaktualizować ten plik, aby wskazać to konkretne źródło danych.
Poniższy przykład przedstawia przykład pliku zapytania parametrów, na przykład 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
Po podaniu opcjonalnego pliku zapytania parametrów zapytanie testowe musi zawierać tylko przekształcenia danych testowych. Te przekształcenia są wyrażeniami języka M wymaganymi do testów i uczynić je niezależnymi od źródła danych. Następnie zapytanie testowe musi zadeklarować funkcję lambda języka M, która pobiera wyniki z zapytania parametru i uruchamia logikę testową w wynikach wejściowych.
Poniższy przykład przedstawia przykład zapytania testowego, na przykład SnowflakeFirstNTest.query.pq:
(parameter) =>
let
SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
Plik ustawień opcjonalnych z rozszerzeniem .settings
Opcjonalny plik ustawień jest plikiem JSON, który zawiera parametry konfiguracji jako pary wartości klucza.
Poniższy przykład przedstawia przykład pliku ustawień, gdy jest określony opcjonalny plik zapytania parametrów:
{
'Extension': 'snowflake.mez',
'ParameterQueryFilePath': 'contoso.parameterquery.pq'
'QueryFilePath': 'contoso.query.pq',
'FailOnMissingOutputFile': true
}
Opcjonalny plik diagnostyczny z rozszerzeniem diagnostyki
Opcjonalny plik diagnostyczny zawiera obecnie listę tekstu polecenia, który jest generowany podczas składania zapytania języka M. Użyj go do testowania regresji składania zapytań.
Poniższy przykład przedstawia przykład pliku diagnostycznego, na przykład SnowflakeFirstNTest Ustawienia.diagnostics:
[
{
"Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
}
]
Podsumowanie
W tej sekcji przedstawiono różne formaty plików, które należy znać podczas pracy z platformą testową zestawu SDK dodatku Power Query.
W następnej sekcji utworzysz zapytania i ustawienia do pracy ze źródłem danych dla łącznika rozszerzenia.
Następne kroki
Platforma testowa zestawu SDK dodatku Power Query — część 5 — testowanie łącznika rozszerzenia