Power Query SDK-testramverk del 5 – Testa tilläggsanslutningen
Den här referensen i flera delar beskriver konfigurationen och körningen av en standardserie med tester för Power Query-anslutningsutvecklare. Den här referensen är avsedd att utföras sekventiellt för att säkerställa att din miljö har konfigurerats för testning av din anpassade anslutningsapp.
Hittills har du slutfört följande steg:
- Konfigurera miljön
- Laddade upp testdata
- Laddade ned testpaketet
- Lärt dig olika filformat och deras funktioner
Du är äntligen redo att börja verifiera tilläggsanslutningen med testpaketet.
I det här avsnittet får du:
- Lär dig hur du uppdaterar parameterfrågorna och inställningsfilerna
- Ange sökvägen för testramverket, anslutningstillägget och testinställningskatalogen
- Ange autentiseringsuppgifter för tillägget
- Verifiera testdata genom att köra sanity-tester
- Verifiera anslutningsappen genom att köra den standardiserade uppsättningen tester
- Validera frågedelegering och generera kommandotext i diagnostikfiler
Ange sökvägarna för PQTest.exe och tillägg i filen RunPQSDKTestSuites Inställningar.json
Gå till \testframework\tests och öppna filen RunPQSDKTestSuites Inställningar.json i den klonade lagringsplatsen. Ange sedan sökvägarna för PQTest.exe och tillägget i konfigurationsfilen:
- PQTestExePath: Ersätt med sökvägen till PQTest.ext. Till exempel C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, där <Användarnamn> är namnet på din användarprofilmapp, x.x.x är den aktuella versionen av Power Query SDK-tillägget och x.xxx.x är den aktuella versionen av Power Query SDK-verktyg.
- ExtensionPath: Ersätt med sökvägen till filnamnstillägget mez. Till exempel C:\dev\<Anslut orName>\<Anslut orName.mez>, där <Anslut orName> är namnet på anslutningsappen.
Kommentar
Du hittar ytterligare information om alla variabler som du kan ange i filen RunPQSDKTestSuites Inställningar.json i den angivna mallen \testframework\tests\RunPQSDKTestSuites Inställningar Template.json.
Uppdatera parameterfrågor och inställningsfil med den information som är specifik för anslutningsappen för datakällans tillägg
När du kör PowerShell-skriptet .\RunPQSDKTestSuites.ps1 skapas parameterfrågorna och testinställningarna genom att skapa en mapp med <tilläggsnamnet> och mapparna Inställningar och ParameterQueries under den på följande sätt:
- testframework\tests\Anslut orConfigs\<Extension Name>\ParameterQueries
- testframework\tests\Anslut orConfigs\<Extension Name>\Inställningar
I följande exempel visas hur sökvägarna för en anslutningsapp med namnet Contoso skulle se ut:
- testframework\tests\TestSuites\Contoso\ParameterQueries
- testframework\tests\TestSuites\Contoso\Inställningar
Kommentar
Uppdatera M-frågan i den genererade parameterfrågefilen för att ansluta till datakällan och hämta de tidigare uppladdade NycTaxiGreen- och TaxiZoneLookup-tabellerna.
Om du vill skapa parameterfrågefilerna och inställningsfilerna för datakällan manuellt utför du stegen nedan:
- Gå till mappen \testframework\tests\Anslut orConfigs under den klonade lagringsplatsen.
- Skapa en kopia av mappen \generic och byt namn på den till tilläggsnamnet.
- Öppna varje fil i mappen \ParameterQueries och uppdatera M-frågan enligt anvisningarna i filerna.
- Öppna varje fil i mappen \Inställningar och uppdatera filerna så att de pekar på rätt parameterfrågefil.
Ange autentiseringsuppgifterna för tilläggsanslutningsappen
Kontrollera att autentiseringsuppgifterna har konfigurerats för anslutningsappen genom att följa anvisningarna för kommandot set-credential .
Du kan också använda kommandot credential-template för att generera en mall för autentiseringsuppgifter i JSON-format för din anslutningsapp som kan skickas till kommandot set-credential . Se avsnittet credential-template om användningen för att generera en mall för autentiseringsuppgifter.
# <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 utdata från föregående kommando och ersätt platshållarvärdena med rätt autentiseringsuppgifter och spara dem som en JSON-fil (till exempel contoso_cred.json).
Använd sedan det här kommandot set-credential för att lagra autentiseringsuppgifter som används av jämförelsekommandot för att köra testerna. Använd det befintliga PowerShell-fönstret och ange autentiseringsuppgifterna för tillägget med hjälp av JSON-autentiseringsfilen som genererades i föregående steg. Se avsnittet set-credential om användningen för att konfigurera autentiseringsuppgifterna för anslutningsappen.
$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"
Verifiera att testdata har konfigurerats korrekt genom att köra sanity-testerna
Kontrollera att ändringarna fungerar och att datauppsättningen är korrekt genom att köra sanity-testerna med hjälp av verktyget RunPQSDKTestSuites.ps1 i katalogen \testframework\tests\TestSuites på följande sätt:
.\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 sans- och standardtesterna
Kör med verktyget RunPQSDKTestSuites.ps1
Kör följande kommando för att köra testerna för att köra alla sans- och standardtester eller en uppsättning tester som definierats av inställningsfilen:
# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1
Om du vill veta mer om verktyget RunPQSDKTestSuites.ps1 kör du kommandot Get-Help på följande sätt:
Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed
Kör med PQTest.exe
Använd följande kommando i samma PowerShell-fönster för att köra vissa tester direkt med 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"
Mer information om hur du kör tester med PQTest.exe finns i dokumentationen i pqtest-overview .
Köra frågedelegeringstester
Testerna under alla sans- och standardtester kan köras för att validera frågedelegering. Kör testet första gången för att generera en diagnostikutdatafil under mappen \testframework\tests\<Extension Name>\Diagnostics\. Efterföljande körningar verifierar utdata som genererats med diagnostikutdatafilen.
Köra frågedelegeringstester med verktyget RunPQSDKTestSuites.ps1
Verifiera frågedelegering för Sanity & Standard-testerna på följande sätt:
.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
Kommentar
Du kan också ange ValidateQueryFolding=True
i filen \testframework\tests\TestSuite\RunPQSDKTestSuites Inställningar.json.
Köra frågedelegeringstester med hjälp 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"
Slutsats
I det här avsnittet beskrivs stegen för att konfigurera parameterfrågor och inställningsfiler, som sedan krävs för att verifiera tilläggsanslutningen genom att köra den sansade och standardiserade uppsättningen tester.
I nästa avsnitt får du lära dig hur du lägger till fler tester. Du lär dig också om de olika kommandon och alternativ som är tillgängliga inom testramverket och olika anpassningsbara inställningar för dina testbehov.
Nästa steg
Power Query SDK-testramverk del 6 – Lägga till dina tester och förstå olika alternativ