Framework di test di Power Query SDK parte 5 - Test del connettore di estensione
Questo riferimento in più parti illustra la configurazione e l'esecuzione di una suite standard di test per gli sviluppatori di connettori di Power Query. Questo riferimento deve essere eseguito in sequenza per assicurarsi che l'ambiente sia configurato per il test del connettore personalizzato.
Finora sono stati completati i passaggi seguenti:
- Configurare l'ambiente
- Caricare i dati di test
- Scaricato il gruppo di test
- Sono stati appresi vari formati di file e le relative funzionalità
Si è finalmente pronti per iniziare a verificare il connettore di estensioni con il gruppo di test.
In questa sezione verrà illustrato come:
- Informazioni su come aggiornare le query sui parametri e i file di impostazioni
- Impostare il percorso per il framework di test, l'estensione del connettore e la directory delle impostazioni di test
- Impostare le credenziali per l'estensione
- Convalidare i dati di test eseguendo test di integrità
- Convalidare il connettore eseguendo il set standardizzato di test
- Convalidare la riduzione delle query e generare il testo del comando nei file di diagnostica
Impostare i percorsi di estensione e PQTest.exe nel file RunPQSDKTestSuites Impostazioni.json
Passare a \testframework\tests e aprire il file RunPQSDKTestSuites Impostazioni.json nella cartella del repository clonato. Impostare quindi i percorsi per PQTest.exe e l'estensione nel file di configurazione:
- PQTestExePath: sostituire con il percorso di PQTest.ext. Ad esempio, C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, dove <Username> è il nome della cartella del profilo utente, x.x.x è la versione corrente dell'estensione di Power Query SDK e x.xxx.x è la versione corrente degli strumenti di Power Query SDK.
- ExtensionPath: sostituire con il percorso del file mez di estensione. Ad esempio, C:\dev\<Connessione orName>\<Connessione orName.mez>, dove <Connessione orName> è il nome del connettore.
Nota
È possibile trovare altre informazioni su tutte le variabili che è possibile impostare nel file RunPQSDKTestSuites Impostazioni.json nel modello \testframework\tests\RunPQSDKTestSuites Impostazioni Template.json.
Aggiornare le query sui parametri e il file di impostazioni con i dettagli specifici del connettore dell'estensione dell'origine dati
L'esecuzione dello script di PowerShell .\RunPQSDKTestSuites.ps1 crea le query sui parametri e le impostazioni di test creando una cartella con <nome> di estensione e le cartelle Impostazioni e ParameterQueries sotto di essa come indicato di seguito:
- testframework\tests\Connessione orConfigs\<Nome> estensione\ParameterQueries
- testframework\tests\Connessione orConfigs\<Nome> estensione\Impostazioni
Gli esempi seguenti illustrano i percorsi di un connettore denominato Contoso:
- testframework\tests\TestSuites\Contoso\ParameterQueries
- testframework\tests\TestSuites\Contoso\Impostazioni
Nota
Aggiornare la query M nei file di query dei parametri generati per connettersi all'origine dati e recuperare le tabelle NycTaxiGreen e TaxiZoneLookup caricate in precedenza.
In alternativa, per creare manualmente i file di query dei parametri e i file di impostazioni per l'origine dati, seguire questa procedura:
- Passare alla cartella \testframework\tests\Connessione orConfigs nella cartella del repository clonato.
- Creare una copia della cartella \generica e rinominarla nel nome dell'estensione.
- Aprire ogni file nella cartella \ParameterQueries e aggiornare la query M come istruzioni fornite in tali file.
- Aprire ogni file nella cartella \Impostazioni e aggiornare i file in modo che puntino al file di query dei parametri corretto.
Impostare le credenziali per il connettore di estensione
Assicurarsi che le credenziali siano configurate per il connettore seguendo le istruzioni per il comando set-credential .
In alternativa, usare il comando credential-template per generare un modello di credenziale in formato JSON per il connettore che può essere passato al comando set-credential . Fare riferimento alla sezione credential-template sull'utilizzo per generare un modello di credenziale.
# <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
Eseguire l'output del comando precedente e sostituire i valori segnaposto con credenziali corrette e salvarlo come file JSON (ad esempio, contoso_cred.json).
Usare quindi questo comando set-credential per archiviare le credenziali usate dal comando compare per eseguire i test. Usando la finestra di PowerShell esistente, impostare le credenziali per l'estensione usando il file di credenziali JSON generato nel passaggio precedente. Vedere la sezione set-credential sull'utilizzo per configurare le credenziali per il connettore.
$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"
Verificare che i dati di test siano configurati correttamente eseguendo i test di integrità
Per assicurarsi che le modifiche funzionino correttamente e che la configurazione dei dati venga eseguita correttamente, eseguire i test di integrità usando l'utilità RunPQSDKTestSuites.ps1 presente nella directory \testframework\test\TestSuites come indicato di seguito:
.\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
----------------------------------------------------------------------------------------------
#>
Eseguire i test di integrità e standard
Eseguire usando l'utilità RunPQSDKTestSuites.ps1
Per eseguire tutti i test di integrità e standard o un set di test definiti dal file di impostazioni, eseguire il comando seguente per eseguire i test:
# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1
Per altre informazioni sull'utilità RunPQSDKTestSuites.ps1, eseguire il comando Get-Help come indicato di seguito:
Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed
Eseguire con PQTest.exe
Usare il comando seguente nella stessa finestra di PowerShell per eseguire test specifici direttamente usando 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"
Per altre informazioni sull'esecuzione di test con PQTest.exe, vedere la documentazione in pqtest-overview .
Esecuzione di test di riduzione delle query
I test con qualsiasi integrità e test standard possono essere eseguiti per convalidare la riduzione delle query. Eseguire il test la prima volta per generare un file di output di diagnostica nella cartella \testframework\tests\Nome> estensione\<Diagnostics\. Le esecuzioni successive convalidano l'output generato con il file di output di diagnostica.
Eseguire test di riduzione delle query usando l'utilità RunPQSDKTestSuites.ps1
Convalidare la riduzione delle query per i test sanity e standard come indicato di seguito:
.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
Nota
In alternativa, specificare ValidateQueryFolding=True
nel file \testframework\tests\TestSuite\RunPQSDKTestSuites Impostazioni.json.
Eseguire test di riduzione delle query usando 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"
Conclusione
In questa sezione sono stati illustrati i passaggi per configurare le query sui parametri e i file di impostazioni, che vengono quindi necessari per convalidare il connettore di estensione eseguendo il livello di integrità e il set standardizzato di test.
Nella sezione successiva si apprenderà come aggiungere altri test. Vengono inoltre illustrati i vari comandi e opzioni disponibili all'interno del framework di test e varie impostazioni personalizzabili per le esigenze di test.
Passaggi successivi
Framework di test di Power Query SDK parte 6 - Aggiunta dei test e comprensione di varie opzioni