Del via


Power Query SDK-testrammeverk del 5 – Testing av utvidelseskoblingen

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 RunPQSDKTestSuites Innstillinger.json-filen

Gå til \testframework\tester, og åpne Filen RunPQSDKTestSuites Innstillinger.json i den klonede repositoriet. Angi deretter banene for PQTest.exe og filtypen i konfigurasjonsfilen:

  • PQTestExePath: Erstatt med banen til PQTest.ext. For 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, where< Username> is the name of your user profile folder, x.x.x is the current version of Power Query SDK extension, and x.xxx.x is the current version of Power Query SDK tools.
  • ExtensionPath: Erstatt med banen til filen for filtypen mez. For eksempel C:\dev\<Koble til orName>\<Koble til orName.mez>, der <Koble til orName> er navnet på koblingen.

Merk

Du finner mer informasjon om alle variablene du kan angi i RunPQSDKTestSuites Innstillinger.json-filen i den angitte malen \testframework\tests\RunPQSDKTestSuites Innstillinger Template.json.

Oppdater parameterspørringer og innstillingsfil med detaljene som er spesifikke for datakildeutvidelseskoblingen

Hvis du kjører PowerShell-skriptet .\RunPQSDKTestSuites.ps1, opprettes parameterspørringene og testinnstillingene ved å opprette en mappe med <navn på filtype>, og mappene Innstillinger og ParameterQueries under som følger:

  • testframework\tests\Koble til orConfigs\<Extension Name>\ParameterQueries
  • testframework\tests\Koble til orConfigs\<Extension Name>\Innstillinger

Eksemplene nedenfor viser hvordan banene for en kobling kalt Contoso vil se ut:

  • testframework\tests\TestSuites\Contoso\ParameterQueries
  • testframework\tests\TestSuites\Contoso\Innstillinger

Merk

Oppdater M-spørringen i de genererte parameterspørringsfilene for å koble til datakilden og hente de tidligere opplastede NycTaxiGreen & TaxiZoneLookup-tabellene.

Hvis du vil opprette parameterspørringsfilene og innstillingsfilene for datakilden manuelt, kan du utføre trinnene nedenfor:

  1. Gå til \testframework\tests\Koble til orConfigs-mappen under den klonede repositoriet.
  2. Lag en kopi av \generic-mappen, og gi den nytt navn til navnet på filtypen.
  3. Åpne hver fil i \ParameterQueries-mappen, og oppdater M-spørringen som instruksjonene i disse filene.
  4. Åpne hver fil i \Innstillinger-mappen, og oppdater disse filene slik at de peker til riktig parameterspørringsfil.

Angi legitimasjon for utvidelseskoblingen

Kontroller at legitimasjonen er konfigurert for koblingen ved å følge instruksjonene for kommandoen angi legitimasjon .

Alternativt kan du bruke kommandoen legitimasjonsmal til å generere en legitimasjonsmal i JSON-format for koblingen som kan sendes til kommandoen angi legitimasjon . Se delen legitimasjonsmal på bruken for å generere en 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).

Bruk deretter denne kommandoen for angitt legitimasjon til å lagre 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 med angitt 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 som følger:

.\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 med RunPQSDKTestSuites.ps1-verktøyet

Hvis du vil kjøre alle sanitets- og standardtestene eller et sett med tester som er 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

Bruk følgende kommando i samme PowerShell-vindu til å kjøre bestemte tester direkte ved hjelp av 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 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 Verktøyet RunPQSDKTestSuites.ps1

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

Merk

Alternativt kan du angi ValidateQueryFolding=True i filen \testframework\tests\TestSuite\RunPQSDKTestSuites Innstillinger.json.

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 dine og forstå ulike alternativer