Del via


Power Query SDK-teststruktur del 5 – Test af din udvidelsesconnector

Denne reference med flere dele dækker konfiguration og kørsel af en standardpakke med test til udviklere af Power Query-connectors. Denne reference er beregnet til at blive udført sekventielt for at sikre, at dit miljø er konfigureret til at teste din brugerdefinerede connector.

Indtil videre har du fuldført følgende trin:

  • Konfigurer miljøet
  • Overførte testdataene
  • Downloadede testpakken
  • Lærte forskellige filformater og deres funktionalitet

Du er endelig klar til at begynde at bekræfte din udvidelsesconnector med testpakken.

I dette afsnit kan du:

  • Få mere at vide om, hvordan du opdaterer parameterforespørgslerne og indstillingsfilerne
  • Angiv stien til mappen med teststrukturen, connectorudvidelsen og testindstillingsmappen
  • Angiv legitimationsoplysninger for udvidelsen
  • Valider testdataene ved at køre sanitetstest
  • Valider din connector ved at køre det standardiserede sæt test
  • Valider forespørgselsdelegering, og generér kommandotekst i diagnosticeringsfiler

Angiv stierne PQTest.exe og filtypenavne i filen RunPQSDKTestSuites Indstillinger.json

Gå til \testframework\tests, og åbn filen RunPQSDKTestSuites Indstillinger.json i den klonede lagermappe. Angiv derefter stierne for PQTest.exe og filtypenavnet i konfigurationsfilen:

  • PQTestExePath: Erstat med stien til PQTest.ext. F.eks. C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, hvor <Brugernavn> er navnet på din brugerprofilmappe, x.x.x er den aktuelle version af Power Query SDK-udvidelsen, og x.xxx.x er den aktuelle version af Power Query SDK-værktøjer.
  • ExtensionPath: Erstat med stien til filtypenavnet mez-filen. F.eks. C:\dev\<Forbind orName>\<Forbind orName.mez>, hvor <Forbind orName> er navnet på din connector.

Bemærk

Du kan finde flere oplysninger om alle de variabler, du kan angive i filen RunPQSDKTestSuites Indstillinger.json i den angivne skabelon \testframework\tests\RunPQSDKTestSuites Indstillinger Template.json.

Opdater parameterforespørgsler og indstillingsfil med de oplysninger, der er specifikke for din datakildeudvidelsesconnector

Hvis du kører PowerShell-scriptet .\RunPQSDKTestSuites.ps1, oprettes parameterforespørgslerne og testindstillingerne ved at oprette en mappe med <udvidelsesnavn> og mapperne Indstillinger og ParameterQueries under det på følgende måde:

  • testframework\tests\Forbind orConfigs\<Extension Name>\ParameterQueries
  • testframework\tests\Forbind orConfigs\<Extension Name>\Indstillinger

I følgende eksempler kan du se, hvordan stierne for en connector med navnet Contoso ville se ud:

  • testframework\tests\TestSuites\Contoso\ParameterQueries
  • testframework\tests\TestSuites\Contoso\Indstillinger

Bemærk

Opdater M-forespørgslen i den eller de genererede parameterforespørgselsfiler for at oprette forbindelse til datakilden og hente de tidligere overførte Tabeller NycTaxiGreen & TaxiZoneLookup.

Hvis du vil oprette parameterforespørgselsfilerne og indstillingsfilerne for datakilden manuelt, skal du udføre nedenstående trin:

  1. Gå til mappen \testframework\tests\Forbind orConfigs under den klonede lagermappe.
  2. Opret en kopi af mappen \generic, og omdøb den til filtypenavnet.
  3. Åbn hver fil i mappen \ParameterQueries, og opdater M-forespørgslen som instruktionerne i disse filer.
  4. Åbn hver fil i mappen \Indstillinger, og opdater disse filer, så de peger på den korrekte parameterforespørgselsfil.

Angiv legitimationsoplysningerne for din udvidelsesconnector

Sørg for, at legitimationsoplysningerne er konfigureret for din connector ved at følge vejledningen til kommandoen set-credential .

Du kan også bruge kommandoen credential-template til at generere en skabelon til legitimationsoplysninger i JSON-format for din connector, der kan overføres til kommandoen set-credential . Se afsnittet med legitimationsoplysninger-skabelon om brugen for at oprette en skabelon til legitimationsoplysninger.

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

Tag outputtet fra den forrige kommando, og erstat pladsholderværdierne med korrekte legitimationsoplysninger, og gem det som en JSON-fil (f.eks. contoso_cred.json).

Brug derefter denne kommando med legitimationsoplysninger for at gemme legitimationsoplysninger, der bruges af kommandoen sammenlign , til at køre testene. Brug det eksisterende PowerShell-vindue til at angive legitimationsoplysningerne for din udvidelse ved hjælp af den JSON-legitimationsfil, der blev oprettet i det forrige trin. Se afsnittet angiv legitimationsoplysninger om brugen for at konfigurere legitimationsoplysningerne for din connector.

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

Valider, at testdataene er konfigureret korrekt ved at køre sanitetstestene

Hvis du vil sikre dig, at ændringerne fungerer, og at datasættet udføres korrekt, skal du køre sanitetstestene ved hjælp af værktøjet RunPQSDKTestSuites.ps1 i mappen \testframework\tests\TestSuites på følgende måde:

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

Kør tilregneligheds- og standardtest

Kør ved hjælp af værktøjet RunPQSDKTestSuites.ps1

Hvis du vil køre alle de sunde og standardtests eller et sæt test, der er defineret af indstillingsfilen, skal du køre følgende kommando for at udføre testene:

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

Hvis du vil vide mere om værktøjet RunPQSDKTestSuites.ps1, skal du køre kommandoen Get-Help på følgende måde:

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

Kør ved hjælp af PQTest.exe

Brug følgende kommando i det samme PowerShell-vindue til at køre bestemte test direkte ved hjælp af 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"

Se dokumentationen i pqtest-overview for at få flere oplysninger om kørsel af test med PQTest.exe.

Kører test af forespørgselsdelegering

Testene under en hvilken som helst fornufts- og standardtest kan køres for at validere forespørgselsdelegering. Kør testen første gang for at oprette en outputfil til diagnosticering under mappen \testframework\tests\<Extension Name>\Diagnostics\. Efterfølgende kørsler validerer det output, der genereres med outputfilen til diagnosticering.

Kør test til forespørgselsdelegering ved hjælp af værktøjet RunPQSDKTestSuites.ps1

Valider forespørgselsdelegering for sanitets- og standardtest på følgende måde:

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

Bemærk

Du kan også angive ValidateQueryFolding=True filen \testframework\tests\TestSuite\RunPQSDKTestSuites Indstillinger.json.

Kør test af forespørgselsdelegering ved hjælp af 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"

Konklusion

I dette afsnit gennemgås trinnene til konfiguration af parameterforespørgsler og indstillingsfiler, som derefter kræves for at validere din udvidelsesconnector ved at køre det sunde og standardiserede sæt test.

I næste afsnit får du mere at vide om, hvordan du tilføjer flere test. Du får også mere at vide om de forskellige kommandoer og indstillinger, der er tilgængelige i teststrukturen, og forskellige indstillinger, der kan tilpasses til dine testbehov.

Næste trin

Power Query SDK-teststruktur del 6 – Tilføjelse af dine test og forståelse af forskellige muligheder