Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Bemærkning
Denne artikel dækker test ved hjælp af PowerShell-værktøjet. Hvis du vil teste ved hjælp af Visual Studio Code Test Explorer, skal du se Power Query SDK-teststruktur del 5a – Test af din udvidelsesconnector med Visual Studio Code.
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 RunPQSDKTestSuitesSettings.json
Gå til \testframework\tests and open the RunPQSDKTestSuitesSettings.jspå filen i den klonede lagermappe. Angiv derefter stierne for PQTest.exe og filtypenavnet i konfigurationsfilen:
- PQTestExePath: Erstat med stien til PQTest.ext. 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\<ConnectorName>\<ConnectorName.mez>, hvor <ConnectorName> er navnet på din connector.
Bemærkning
Du kan finde flere oplysninger om alle de variabler, du kan angive i RunPQSDKTestSuitesSettings.json-filen i den angivne \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.jspå skabelonen.
Opdater parameterforespørgsler og indstillingsfil med de oplysninger, der er specifikke for din datakildeudvidelsesconnector
Kørsel af PowerShell-scriptet .\RunPQSDKTestSuites.ps1 opretter parameterforespørgslerne og testindstillingerne ved at oprette en mappe med <udvidelsesnavn> og mapperne Indstillinger og ParameterQueries under den på følgende måde:
- testframework\tests\ConnectorConfigs\<Extension Name>\ParameterQueries
- testframework\tests\ConnectorConfigs\<Extension Name>\Settings
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\Settings
Bemærkning
Opdater M-forespørgslen i de genererede parameterforespørgselsfiler for at oprette forbindelse til datakilden og hente de tidligere overførte NycTaxiGreen - TaxiZoneLookup-tabeller.
Du kan også manuelt oprette parameterforespørgselsfilerne og indstillingsfilerne for datakilden ved at udføre nedenstående trin:
- Gå til mappen \testframework\tests\ConnectorConfigs under den klonede lagermappe.
- Opret en kopi af mappen \generic, og omdøb den med filtypenavnet.
- Åbn hver fil i mappen \ParameterQueries, og opdater M-forespørgslen som instruktionerne i disse filer.
- Åbn hver fil i mappen \Indstillinger, og opdater de korrekte stier til parameterforespørgsler.
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å oprette en skabelon til legitimationsoplysninger i JSON-format for din connector ved hjælp af kommandoen credential-template , der kan overføres til kommandoen set-credential . Du kan finde oplysninger om brugen af at oprette en skabelon til legitimationsoplysninger i afsnittet med 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 de korrekte legitimationsoplysninger, og gem det som en JSON-fil (f.eks. contoso_cred.json).
Gem derefter legitimationsoplysninger ved hjælp af denne kommando med angivelse af legitimationsoplysninger , som 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 med angivelse af legitimationsoplysninger om brugen af konfiguration af 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 det RunPQSDKTestSuites.ps1 værktøj, der findes 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 RunPQSDKTestSuites.ps1-værktøjet
Hvis du vil køre det komplette sæt af 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
Hvis du vil køre bestemte test direkte ved hjælp af PQTest.exe, skal du bruge følgende kommando i det samme PowerShell-vindue:
# <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 af forespørgselsdelegering ved hjælp af RunPQSDKTestSuites.ps1-værktøjet
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ærkning
Du kan også angive ValidateQueryFolding=True i \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.jspå filen.
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-teststrukturdel 6 – Tilføjelse af dine test og forståelse af forskellige muligheder