Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Notat
Denne artikkelen dekker testing ved hjelp av PowerShell-verktøyet. Hvis du vil teste ved hjelp av Visual Studio Code testutforsker, kan du se Power Query SDK-testrammeverk del 5a – Teste utvidelseskoblingen med Visual Studio Code.
Denne flerdelte referansen dekker konfigurasjonen og kjøringen av en standard testserie for Power Query-koblingsutviklere. Denne referansen er ment å gjøres sekvensielt for å sikre at miljøet er konfigurert for testing av den egendefinerte koblingen.
Så langt har du fullført følgende trinn:
- Konfigurere miljøet
- Lastet opp testdataene
- Lastet ned testserien
- Lærte ulike filformater og deres funksjonalitet
Du er endelig klar til å begynne å bekrefte utvidelseskoblingen med testserien.
I denne delen:
- Finn ut hvordan du oppdaterer parameterspørringene og innstillingsfilene
- Angi banen for testrammeverket, koblingsutvidelsen og testinnstillingskatalogen
- Angi legitimasjon for utvidelsen
- Valider testdataene ved å kjøre sanity-tester
- Valider koblingen ved å kjøre det standardiserte settet med tester
- Valider spørringsdelegering og generer kommandotekst i diagnosefiler
Angi PQTest.exe- og filtypebaner i RunPQSDKTestSuitesSettings.json-filen
Gå til \testframework\tests and open the RunPQSDKTestSuitesSettings.jspå filen i den klonede repo-mappen. Angi deretter banene for PQTest.exe og filtypen i konfigurasjonsfilen:
- PQTestExePath: Erstatt med banen til PQTest.ext. Eksempel: C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft. PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, der <Brukernavn> er navnet på brukerprofilmappen, x.x.x er den gjeldende versjonen av Power Query SDK-utvidelse, og x.xxx.x er gjeldende versjon av Power Query SDK-verktøy.
- ExtensionPath: Erstatt med banen til filen for filtypen mez. For eksempel C:\dev\<ConnectorName>\<ConnectorName.mez>, der <ConnectorName> er navnet på koblingen.
Notat
Du finner mer informasjon om alle variablene du kan angi i RunPQSDKTestSuitesSettings.json-filen i den angitte \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.jspå malen.
Oppdater parameterspørringer og innstillingsfil med detaljene som er spesifikke for datakildeutvidelseskoblingen
Kjører PowerShell-skriptet .\RunPQSDKTestSuites.ps1 oppretter parameterspørringer og testinnstillinger ved å opprette en mappe med <utvidelsesnavn>, og mappene Innstillinger og ParameterQueries under den som følger:
- testframework\tests\ConnectorConfigs\<Extension Name>\ParameterQueries
- testframework\tests\ConnectorConfigs\<Extension Name>\Settings
Eksemplene nedenfor viser hvordan banene for en kobling kalt Contoso vil se ut:
- testframework\tests\TestSuites\Contoso\ParameterQueries
- testframework\tests\TestSuites\Contoso\Settings
Notat
Oppdater M-spørringen i de genererte parameterspørringsfilene for å koble til datakilden og hente de tidligere opplastede NycTaxiGreen &TaxiZoneLookup-tabellene.
Du kan også manuelt opprette parameterspørringsfilene og innstillingsfilene for datakilden ved å utføre trinnene nedenfor:
- Gå til \testframework\tests\ConnectorConfigs-mappen under den klonede repositoriet.
- Lag en kopi av \generic-mappen, og gi den nytt navn med navnet på filtypen.
- Åpne hver fil i \ParameterQueries-mappen, og oppdater M-spørringen som instruksjonene i disse filene.
- Åpne hver fil i \Innstillinger-mappen, og oppdater de riktige parameterspørringsfilbanene.
Angi legitimasjon for utvidelseskoblingen
Kontroller at legitimasjonen er konfigurert for koblingen ved å følge instruksjonene for kommandoen angi legitimasjon .
Du kan eventuelt generere en legitimasjonsmal i JSON-format for koblingen ved hjelp av kommandoen legitimasjonsmal som kan sendes til kommandoen angi legitimasjon . Hvis du vil ha informasjon om bruken for å generere en legitimasjonsmal, kan du se delen legitimasjonsmal .
# <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
Ta utdataene fra den forrige kommandoen, og erstatt plassholderverdiene med riktig legitimasjon, og lagre den som en JSON-fil (for eksempel contoso_cred.json).
Deretter lagrer du legitimasjon ved hjelp av denne kommandoen for angitt legitimasjon , som brukes av sammenligningskommandoen til å kjøre testene. Bruk det eksisterende PowerShell-vinduet til å angi legitimasjonen for utvidelsen ved hjelp av JSON-legitimasjonsfilen som ble generert i forrige trinn. Se delen angi legitimasjon om bruken for å konfigurere legitimasjonen for koblingen.
$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 testdataene konfigureres på riktig måte ved å kjøre sanity-testene
Hvis du vil sikre at endringene fungerer og dataoppsettet gjøres riktig, kjører du sanity-testene ved hjelp av RunPQSDKTestSuites.ps1-verktøyet som finnes i \testframework\tests\TestSuites-katalogen på følgende måte:
.\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
----------------------------------------------------------------------------------------------
#>
Kjør sanitets- og standardtestene
Kjør ved hjelp av RunPQSDKTestSuites.ps1-verktøyet
Hvis du vil kjøre hele settet med sanitets- og standardtester eller et sett med tester definert av innstillingsfilen, kjører du følgende kommando for å utføre testene:
# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1
Hvis du vil lære mer om RunPQSDKTestSuites.ps1-verktøyet, kan du kjøre Kommandoen Få hjelp på følgende måte:
Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed
Kjør med PQTest.exe
Hvis du vil kjøre bestemte tester direkte ved hjelp av PQTest.exe, bruker du følgende kommando i samme PowerShell-vindu:
# <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 gjennom dokumentasjonen i pqtest-oversikt for mer informasjon om hvordan du kjører tester med PQTest.exe.
Kjøre spørringsdelegeringstester
Testene under alle tilregnelighets- og standardtester kan kjøres for å validere spørringsdelegering. Kjør testen første gang for å generere en utdatafil for diagnose under mappen \testframework\tests\<Extension Name>\Diagnostics\. Etterfølgende kjøringer validerer utdataene som genereres med utdatafilen for diagnoser.
Kjør spørringsdelegeringstester ved hjelp av RunPQSDKTestSuites.ps1-verktøyet
Valider spørringsdelegering for Sanity &Standard-testene på følgende måte:
.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
Notat
Alternativt kan du angi ValidateQueryFolding=True i \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.jspå filen.
Kjør spørringsdelegeringstester ved hjelp av 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"
Konklusjon
Denne delen dekket trinnene for å konfigurere parameterspørringer og innstillingsfiler, som deretter kreves for å validere utvidelseskoblingen ved å kjøre sanity og standardisert sett med tester.
I neste del lærer du hvordan du legger til flere tester. Du lærer også om de ulike kommandoene og alternativene som er tilgjengelige i testrammeverket, og ulike innstillinger som kan tilpasses for dine testbehov.
Neste trinn
Power Query SDK-testrammeverk del 6 – Legge til testene og forstå ulike alternativer