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.
Note
In diesem Artikel werden Tests mithilfe des PowerShell-Hilfsprogramms behandelt. Informationen zum Testen mithilfe des Visual Studio Code Test-Explorers finden Sie unter Power Query SDK-Testframework Teil 5a – Testen des Erweiterungsconnectors mit Visual Studio Code.
Diese mehrteilige Referenz behandelt das Einrichten und Ausführen einer Standardsuite von Tests für Power Query-Connectorentwickler. Diese Referenz soll sequenziell durchgeführt werden, um sicherzustellen, dass Ihre Umgebung zum Testen Des benutzerdefinierten Connectors eingerichtet ist.
Bisher haben Sie folgende Schritte ausgeführt:
- Einrichten der Umgebung
- Testdaten hochgeladen
- Die Testsuite wurde heruntergeladen.
- Lernen Sie verschiedene Dateiformate und deren Funktionalität kennen.
Sie sind schließlich bereit, mit der Überprüfung Ihres Erweiterungsconnectors mit der Testsuite zu beginnen.
In diesem Abschnitt führen Sie folgende Schritte aus:
- Erfahren Sie, wie Sie die Parameterabfragen und die Einstellungsdateien aktualisieren.
- Festlegen des Pfads für das Testframework, die Connectorerweiterung und das Testeinstellungsverzeichnis
- Festlegen von Anmeldeinformationen für die Erweiterung
- Überprüfen der Testdaten durch Ausführen von Sanity-Tests
- Überprüfen Des Connectors durch Ausführen der standardisierten Testgruppen
- Überprüfen der Abfragefaltung und Generieren von Befehlstext in Diagnosedateien
Festlegen der PQTest.exe- und Erweiterungspfade in der datei RunPQSDKTestSuitesSettings.json
Navigieren Sie zum \testframework\tests and open the RunPQSDKTestSuitesSettings.jsder Datei im geklonten Repositoryordner. Legen Sie dann die Pfade für PQTest.exe und die Erweiterung in der Konfigurationsdatei fest:
- PQTestExePath: Ersetzen Sie den Pfad zu "PQTest.ext". Beispiel: C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft. PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, wobei <Benutzername> der Name Ihres Benutzerprofilordners ist, x.x.x ist die aktuelle Version der Power Query SDK-Erweiterung und x.xxx.x ist die aktuelle Version von Power Query SDK-Tools.
- ExtensionPath: Ersetzen Sie den Pfad zur Erweiterung mez-Datei. Beispiel: C:\dev\<ConnectorName\<ConnectorName.mez>>, wobei <ConnectorName> der Name Ihres Connectors ist.
Note
Weitere Informationen zu allen Variablen, die Sie in der datei RunPQSDKTestSuitesSettings.json in der bereitgestellten \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.jsauf Vorlage festlegen können, finden Sie.
Aktualisieren von Parameterabfragen und -einstellungsdateien mit den Details, die für Den Connector für die Datenquellenerweiterung spezifisch sind
Ausführen des PowerShell-Skripts .\RunPQSDKTestSuites.ps1 erstellt die Parameterabfragen und Testeinstellungen, indem ein Ordner mit <Erweiterungsname> und die Ordner "Einstellungen und ParameterQueries" unter diesem Ordner wie folgt erstellt werden:
- testframework\tests\ConnectorConfigs\<Extension Name>\ParameterQueries
- testframework\tests\ConnectorConfigs\<Extension Name>\Settings
Die folgenden Beispiele zeigen, wie die Pfade für einen Connector namens Contoso aussehen würden:
- testframework\tests\TestSuites\Contoso\ParameterQueries
- testframework\tests\TestSuites\Contoso\Settings
Note
Aktualisieren Sie die M-Abfrage in den generierten Parameterabfragedateien, um eine Verbindung mit Ihrer Datenquelle herzustellen und die zuvor hochgeladenen NycTaxiGreen & TaxiZoneLookup-Tabellen abzurufen.
Alternativ können Sie die Parameterabfragedateien und Einstellungsdateien für Ihre Datenquelle manuell erstellen, indem Sie die folgenden Schritte ausführen:
- Navigieren Sie zum Ordner \testframework\tests\ConnectorConfigs unter dem geklonten Repositoryordner.
- Erstellen Sie eine Kopie des Ordners \generic, und benennen Sie ihn mit dem Erweiterungsnamen um.
- Öffnen Sie jede Datei im Ordner \ParameterQueries, und aktualisieren Sie die M-Abfrage gemäß den Anweisungen in diesen Dateien.
- Öffnen Sie jede Datei im Ordner \Settings, und aktualisieren Sie die richtigen Parameterabfragedateipfade.
Festlegen der Anmeldeinformationen für Ihren Erweiterungsconnector
Stellen Sie sicher, dass die Anmeldeinformationen für Ihren Connector gemäß den Anweisungen für den Befehl " Anmeldeinformationen einrichten " eingerichtet sind.
Alternativ können Sie eine Anmeldeinformationsvorlage im JSON-Format für Ihren Connector mithilfe des Befehls " Anmeldeinformationsvorlage " generieren, der an den Befehl " Set-credential " übergeben werden kann. Informationen zur Verwendung zum Generieren einer Anmeldeinformationsvorlage finden Sie im Abschnitt " Anmeldeinformationsvorlage ".
# <Path to PQTest.exe>.\PQTest.exe credential-template -e <Path to Extension.exe> -q "<Replace with path to any parameter query file>" --prettyPrint --authenticationKind <Specify the authentication kind (Anonymous, UsernamePassword, Key, Windows, OAuth2)>
# Example:
C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\PQTest.exe credential-template -e "C:\dev\Contoso\Contoso.mez" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\ParameterQueries\Contoso\Contoso.parameterquery.pq" --prettyPrint --authenticationKind UsernamePassword
Nehmen Sie die Ausgabe des vorherigen Befehls, und ersetzen Sie die Platzhalterwerte durch die richtigen Anmeldeinformationen, und speichern Sie sie als JSON-Datei (z. B. contoso_cred.json).
Speichern Sie dann Anmeldeinformationen mithilfe dieses Befehls für die Set-Credential , die vom Befehl "Vergleichen " zum Ausführen der Tests verwendet werden. Legen Sie mithilfe des vorhandenen PowerShell-Fensters die Anmeldeinformationen für Ihre Erweiterung mithilfe der im vorherigen Schritt generierten JSON-Anmeldeinformationsdatei fest. Informationen zum Einrichten der Anmeldeinformationen für Ihren Connector finden Sie im Abschnitt " Set-Credential ".
$PQTestExe = "C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe"
$Extension = "C:\dev\Contoso\Contoso.mez"
# Get-Content "<Replace with path to the json credential file>" | & $PQTestExe set-credential -e $Extension -q "<Replace with the path to any parameter query file>"
# Example:
Get-Content "C:\dev\Misc\contoso_cred.json" | & C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\PQTest.exe set-credential -p -e "C:\dev\Contoso\Contoso.mez" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\ParameterQueries\Contoso.parameterquery.pq"
Überprüfen der korrekten Einrichtung der Testdaten durch Ausführen der Sanity-Tests
Um sicherzustellen, dass die Änderungen funktionieren und das Datensetup ordnungsgemäß ausgeführt wird, führen Sie die Sanity-Tests mit dem Hilfsprogramm "RunPQSDKTestSuites.ps1" aus, das im Verzeichnis "\testframework\tests\TestSuites" wie folgt vorhanden ist:
.\RunPQSDKTestSuites.ps1 -TestSettingsList SanitySettings.json
<#
Example:
PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -TestSettingsList SanitySettings.json
Output:
----------------------------------------------------------------------------------------------
PQ SDK Test Framework - Test Execution - Test Results Summary for Extension: Contoso.pqx
----------------------------------------------------------------------------------------------
TestFolder TestName OutputStatus TestStatus Duration
---------- -------- ------------ ---------- --------
Sanity\Taxi AllTypes.query.pq Passed Passed 00:00:00.0227976
Sanity\Taxi AllTypesRowCount.query.pq Passed Passed 00:00:00.0001734
Sanity\Taxi AllTypesSchema.query.pq Passed Passed 00:00:00.0001085
Sanity\Zone AllTypesZone.query.pq Passed Passed 00:00:00.0010058
Sanity\Zone AllTypesZoneRowCount.query.pq Passed Passed 00:00:00.0001786
Sanity\Zone AllTypesZoneSchema.query.pq Passed Passed 00:00:00.0000920
----------------------------------------------------------------------------------------------
Total Tests: 6 | Passed: 6 | Failed: 0 | Total Duration: 00d:00h:00m:01s
----------------------------------------------------------------------------------------------
#>
Ausführen der Sanity- und Standardtests
Ausführen mit dem Hilfsprogramm RunPQSDKTestSuites.ps1
Führen Sie zum Ausführen des vollständigen Satzes der Sanity- und Standardtests oder einer Reihe von Tests, die durch die Einstellungsdatei definiert sind, den folgenden Befehl aus, um die Tests auszuführen:
# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1
Um mehr über das Hilfsprogramm RunPQSDKTestSuites.ps1 zu erfahren, führen Sie den Befehl "Get-Help " wie folgt aus:
Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed
Ausführen mit PQTest.exe
Verwenden Sie den folgenden Befehl im selben PowerShell-Fenster, um bestimmte Tests direkt mit PQTest.exeauszuführen:
# <Path to PQTest.exe>PQTest.exe compare -p -e $Extension -pa <Replace with path to the parameter query> -q <Replace with the the path to test query>
# Example:
C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.114.4\tools\PQTest.exe compare -p -e "$Extension" -pa "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\ParameterQueries\Contoso.parameterquery.pq" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Standard\Datatypes\Cast.query.pq"
Lesen Sie die Dokumentation in der pqtest-Übersicht , um weitere Informationen zum Ausführen von Tests mit PQTest.exezu erhalten.
Ausführen von Abfragefaltungstests
Die Tests unter allen Sanity- und Standardtests können ausgeführt werden, um die Abfragefaltung zu überprüfen. Führen Sie den Test zum ersten Mal aus, um eine Diagnoseausgabedatei unter dem Ordner \testframework\tests\<Extension Name>\Diagnostics\ zu generieren. Anschließend wird die ausgabe überprüft, die mit der Diagnoseausgabedatei generiert wurde.
Ausführen von Abfragefaltungstests mithilfe des Hilfsprogramms RunPQSDKTestSuites.ps1
Überprüfen Sie die Abfragefaltung für die Sanity & Standard Tests wie folgt:
.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
Note
Alternativ können Sie im \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.jsfür die Datei angeben ValidateQueryFolding=True .
Ausführen von Abfragefaltungstests mit PQTest.exe
# <Path to PQText.exe> compare -p -e $Extension -pa <Replace with path to the parameter query> -q <Replace with the the path to test query> -dfp <Replace with path to the diagnostic output file>
# Example:
C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.114.4\tools\PQTest.exe compare -p -e "$Extension" -pa "C:\dev\DataConnectors\testframework\tests\TestSuites\ParameterQueries\Contoso\Contoso.parameterquery.pq" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Standard\Datatypes\Cast.query.pq" -dfp "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\Diagnostics"
Conclusion
In diesem Abschnitt werden die Schritte zum Einrichten der Parameterabfragen und -einstellungsdateien behandelt, die dann erforderlich sind, um den Erweiterungsconnector zu überprüfen, indem die Sanity- und standardisierte Gruppe von Tests ausgeführt wird.
Im nächsten Abschnitt erfahren Sie, wie Sie weitere Tests hinzufügen. Außerdem erfahren Sie mehr über die verschiedenen Befehle und Optionen, die im Testframework verfügbar sind, sowie über verschiedene anpassbare Einstellungen für Ihre Testanforderungen.