Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese mehrteilige Referenz behandelt das Einrichten und Ausführen einer Standardsuite von Tests für Power Query-Connectorentwickler. Der Verweis soll sequenziell erfolgen, um sicherzustellen, dass Ihre Umgebung zum Testen des benutzerdefinierten Connectors eingerichtet ist.
Nachdem Sie die Umgebung eingerichtet, die Testdaten hochgeladen und die Testsuite eingerichtet haben, können Sie mit der Überprüfung des Erweiterungsconnectors mit der Testsuite beginnen. Bevor Sie die Tests ausführen, müssen Sie verschiedene Arten von Dateien und Formaten im Testframework verstehen.
In diesem Abschnitt führen Sie folgende Schritte aus:
- Lernen Sie die Im Testframework verwendeten Dateiformate und deren Funktionalität kennen.
Spezifikation für Tests im PQ/PQOut-Format
Die Tests zum Überprüfen von Erweiterungsconnectors mit dem Power Query SDK-Testframework werden im PQ/PQOut-Format geschrieben.
In der folgenden Liste werden die Dateitypen beschrieben, die Sie beim Arbeiten mit dem Power Query SDK-Testframework beachten müssen:
- Testabfragedatei, auch als PQ-Datei bezeichnet, mit der Erweiterung .query.pq.
- Ausgabedatei, auch als PQOut-Datei bezeichnet, mit der Erweiterung .query.pqout.
- Optionale Parameterabfragedatei mit der Erweiterung ".parameterquery.pq".
- Optionale Einstellungsdatei mit der Erweiterung ".settings".
- Optionale Diagnosedatei mit der Erweiterung .diagnostics.
Testabfragedatei, auch als PQ-Datei bezeichnet, mit der Erweiterung .query.pq
Die Testabfragedatei (.query.pq) enthält eine einzelne Power Query M-Formelsprachenabfrage. Die Mashup-Abfrage besteht aus Variablen, Ausdrücken und Werten, die von einem let Ausdruck mit einem benutzerdefinierten Namen der Datenquellenfunktion des Verbinders gekapselt wurden, und den erforderlichen Metadaten, die ausgeführt werden sollen.
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
Ausgabedatei, auch als PQOut-Datei bezeichnet, mit der Erweiterung .query.pqout
Die Ausgabedatei (.query.pqout) enthält die generierte Ausgabe als Ergebnis der Ausführung des Vergleichsbefehls für einen Test.
Das folgende Beispiel zeigt ein Beispiel für eine Ausgabedatei (PQOut), z. B. SnowflakeFirstNTests.query.pqout:
#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})
Optionale Parameterabfragedatei mit der Erweiterung ".parameterquery.pq"
Damit die Testfälle unabhängig von der Datenquelle ausgeführt werden, kann die Unterstützung für die PQ/Testabfragedatei in zwei Teile unterteilt werden: die Parameterabfragedatei und die Testabfragedatei.
Die Parameterabfrage ist datenquellenspezifisch und ruft Testdaten aus der Datenquelle ab. Wenn Sie die Tests für einen anderen Connector ausführen möchten, müssen Sie diese Datei aktualisieren, um auf diese bestimmte Datenquelle zu verweisen.
Das folgende Beispiel zeigt ein Beispiel für eine Parameterabfragedatei, z. B. 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
Wenn die optionale Parameterabfragedatei bereitgestellt wird, muss die Testabfrage nur Transformationen in die Testdaten enthalten. Diese Transformationen sind die für Tests erforderlichen M-Ausdrücke und machen sie unabhängig von der Datenquelle. Die Testabfrage muss dann auch eine M-Lambda-Funktion deklarieren, die die Ergebnisse aus der Parameterabfrage verwendet und die Testlogik für Eingabeergebnisse ausführt.
Das folgende Beispiel zeigt ein Beispiel für eine Testabfrage, z. B. SnowflakeFirstNTest.query.pq:
(parameter) =>
let
SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
Optionale Einstellungsdatei mit der Erweiterung ".settings"
Die optionale Einstellungsdatei ist eine JSON-Datei, die die Konfigurationsparameter als Schlüsselwertpaare enthält.
Das folgende Beispiel zeigt ein Beispiel für eine Einstellungsdatei, wenn die optionale Parameterabfragedatei angegeben wird:
{
'Extension': 'snowflake.mez',
'ParameterQueryFilePath': 'contoso.parameterquery.pq'
'QueryFilePath': 'contoso.query.pq',
'FailOnMissingOutputFile': true
}
Optionale Diagnosedatei mit der Erweiterung .diagnostics
Die optionale Diagnosedatei enthält derzeit eine Liste von Befehlstext, der generiert wird, wenn eine M-Abfrage gefaltet wird. Verwenden Sie sie zum Regressionstest der Abfragefaltung.
Das folgende Beispiel zeigt ein Beispiel für eine Diagnosedatei, z. B. SnowflakeFirstNTestSettings.diagnostics:
[
{
"Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
}
]
Conclusion
In diesem Abschnitt wurden verschiedene Dateiformate vorgestellt, mit denen Sie vertraut sein müssen, während Sie mit dem Power Query SDK-Testframework arbeiten.
Im nächsten Abschnitt erstellen Sie Abfragen und Einstellungen, um mit Ihrer Datenquelle für Ihren Erweiterungsconnector zu arbeiten.