Udostępnij za pośrednictwem


Platforma testowa zestawu SDK dodatku Power Query — część 5 — testowanie łącznika rozszerzenia

Ta wieloczęściowa dokumentacja obejmuje konfigurację i uruchamianie standardowego zestawu testów dla deweloperów łącznika Dodatku Power Query. Ta dokumentacja ma być wykonywana sekwencyjnie, aby upewnić się, że środowisko jest skonfigurowane do testowania łącznika niestandardowego.

Do tej pory wykonano następujące kroki:

  • Konfigurowanie środowiska
  • Przekazano dane testowe
  • Pobrano zestaw testów
  • Poznano różne formaty plików i ich funkcjonalność

Na koniec możesz rozpocząć weryfikowanie łącznika rozszerzeń przy użyciu zestawu testów.

W tej sekcji omówiono następujące zagadnienia:

  • Dowiedz się, jak zaktualizować zapytania parametrów i pliki ustawień
  • Ustawianie ścieżki dla katalogu platformy testowej, rozszerzenia łącznika i ustawienia testu
  • Ustawianie poświadczeń dla rozszerzenia
  • Zweryfikuj dane testowe, uruchamiając testy kondycji
  • Zweryfikuj łącznik, uruchamiając ustandaryzowany zestaw testów
  • Weryfikowanie składania zapytań i generowanie tekstu polecenia w plikach diagnostycznych

Ustaw ścieżki PQTest.exe i rozszerzenia w pliku RunPQSDKTestSuites Ustawienia.json

Przejdź do folderu \testframework\tests i otwórz plik RunPQSDKTestSuites Ustawienia.json w sklonowanym folderze repozytorium. Następnie ustaw ścieżki dla PQTest.exe i rozszerzenia w pliku konfiguracji:

  • PQTestExePath: zastąp ścieżką do PQTest.ext. Na przykład C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, gdzie <nazwa użytkownika> to nazwa folderu profilu użytkownika, x.x.x.x to bieżąca wersja rozszerzenia zestawu SDK dodatku Power Query, a x.xxx.x to bieżąca wersja narzędzi zestawu SDK dodatku Power Query.
  • ExtensionPath: zastąp ścieżką do pliku mez rozszerzenia. Na przykład C:\dev\<Połączenie orName\<Połączenie orName.mez>, gdzie <Połączenie orName>> jest nazwą łącznika.

Uwaga

Więcej informacji na temat wszystkich zmiennych, które można ustawić, można znaleźć w pliku RunPQSDKTestSuites Ustawienia.json w podanym szablonie \testframework\tests\RunPQSDKTestSuites Ustawienia Template.json.

Aktualizowanie pliku zapytań parametrów i ustawień przy użyciu szczegółowych informacji specyficznych dla łącznika rozszerzenia źródła danych

Uruchomienie skryptu programu PowerShell .\RunPQSDKTestSuites.ps1 tworzy zapytania parametrów i ustawienia testu, tworząc folder o nazwie <>rozszerzenia oraz foldery Ustawienia i ParameterQueries w następujący sposób:

  • testframework\tests\Połączenie orConfigs\<Extension Name>\ParameterQueries
  • testframework\tests\Połączenie orConfigs\<Extension Name>\Ustawienia

W poniższych przykładach pokazano, jak wyglądają ścieżki łącznika o nazwie Contoso:

  • testframework\tests\TestSuites\Contoso\ParameterQueries
  • testframework\tests\TestSuites\Contoso\Ustawienia

Uwaga

Zaktualizuj zapytanie M w wygenerowanych plikach zapytań parametrów, aby nawiązać połączenie ze źródłem danych i pobrać wcześniej przekazane tabele NycTaxiGreen i TaxiZoneLookup.

Alternatywnie, aby ręcznie utworzyć pliki zapytań parametrów i pliki ustawień dla źródła danych, wykonaj następujące kroki:

  1. Przejdź do folderu \testframework\tests\Połączenie orConfigs w folderze sklonowanego repozytorium.
  2. Utwórz kopię folderu \generic i zmień jego nazwę na nazwę rozszerzenia.
  3. Otwórz każdy plik w folderze \ParameterQueries i zaktualizuj zapytanie M zgodnie z instrukcjami podanymi w tych plikach.
  4. Otwórz każdy plik w folderze \Ustawienia i zaktualizuj te pliki, aby wskazać prawidłowy plik zapytania parametrów.

Ustawianie poświadczeń łącznika rozszerzenia

Upewnij się, że poświadczenia zostały skonfigurowane dla łącznika zgodnie z instrukcjami dotyczącymi polecenia set-credential .

Alternatywnie użyj polecenia credential-template , aby wygenerować szablon poświadczeń w formacie JSON dla łącznika, który można przekazać do polecenia set-credential . Zapoznaj się z sekcją credential-template dotyczącą użycia, aby wygenerować szablon poświadczeń.

# <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

Pobierz dane wyjściowe z poprzedniego polecenia i zastąp wartości symboli zastępczych poprawnymi poświadczeniami i zapisz je jako plik JSON (na przykład contoso_cred.json).

Następnie użyj tego polecenia set-credential do przechowywania poświadczeń używanych przez polecenie compare w celu uruchomienia testów. Korzystając z istniejącego okna programu PowerShell, ustaw poświadczenia dla rozszerzenia przy użyciu pliku poświadczeń JSON wygenerowanego w poprzednim kroku. Zapoznaj się z sekcją set-credential dotyczącą użycia, aby skonfigurować poświadczenia dla łącznika.

$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"

Zweryfikuj poprawność konfiguracji danych testowych, uruchamiając testy sanity

Aby upewnić się, że zmiany działają, a konfiguracja danych jest wykonywana poprawnie, uruchom testy sanity przy użyciu narzędzia RunPQSDKTestSuites.ps1 obecnego w katalogu \testframework\tests\TestSuites w następujący sposób:

.\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
----------------------------------------------------------------------------------------------
#>

Uruchamianie testów zdrowych i standardowych

Uruchamianie przy użyciu narzędzia RunPQSDKTestSuites.ps1

Aby uruchomić wszystkie testy sanity i standardowe lub zestaw testów zdefiniowanych przez plik ustawień, uruchom następujące polecenie, aby wykonać testy:

# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1

Aby dowiedzieć się więcej o narzędziu RunPQSDKTestSuites.ps1, uruchom polecenie Get-Help w następujący sposób:

Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed

Uruchamianie przy użyciu PQTest.exe

Użyj następującego polecenia w tym samym oknie programu PowerShell, aby uruchamiać określone testy bezpośrednio przy użyciu PQTest.exe:

# <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"

Zapoznaj się z dokumentacją w witrynie pqtest-overview , aby uzyskać więcej informacji na temat uruchamiania testów przy użyciu PQTest.exe.

Uruchamianie testów składania zapytań

Testy w ramach dowolnej kondycji i standardowych testów można uruchomić w celu zweryfikowania składania zapytań. Uruchom test po raz pierwszy, aby wygenerować plik wyjściowy diagnostyki w folderze \testframework\tests\Extension Name>\<Diagnostics\. Kolejne przebiegi weryfikują dane wyjściowe wygenerowane za pomocą pliku wyjściowego diagnostyki.

Uruchamianie testów składania zapytań przy użyciu narzędzia RunPQSDKTestSuites.ps1

Zweryfikuj składanie zapytań dla testów sanity i standardowych w następujący sposób:

.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding

Uwaga

Alternatywnie określ ValidateQueryFolding=True w pliku \testframework\tests\TestSuite\RunPQSDKTestSuites Ustawienia.json.

Uruchamianie testów składania zapytań przy użyciu 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"

Podsumowanie

W tej sekcji opisano kroki konfigurowania plików zapytań parametrów i ustawień, które są następnie wymagane do zweryfikowania łącznika rozszerzenia, uruchamiając zdrowy i ustandaryzowany zestaw testów.

W następnej sekcji dowiesz się, jak dodać więcej testów. Zapoznasz się również z różnymi poleceniami i opcjami dostępnymi w ramach platformy testowej oraz różnymi dostosowywalnymi ustawieniami dla potrzeb testowych.

Następne kroki

Struktura testowa zestawu SDK dodatku Power Query — część 6 — dodawanie testów i interpretacja różnych opcji