Partager via


Cadre de test du Kit de développement logiciel (SDK) Power Query partie 5 - Test de votre connecteur d’extension

Cette référence en plusieurs parties couvre l’installation et l’exécution d’une suite standard de tests pour les développeurs de connecteurs Power Query. Cette référence est destinée à être effectuée de manière séquentielle pour vous assurer que votre environnement est configuré pour tester votre connecteur personnalisé.

Jusqu'à présent, vous avez effectué les étapes suivantes :

  • Configurer l’environnement
  • Téléchargement des données de test
  • Téléchargement de la suite de tests
  • Découverte de différents formats de fichiers et de leurs fonctionnalités

Vous êtes enfin prêt à commencer à vérifier votre connecteur d’extension avec la suite de tests.

Dans cette section, vous allez :

  • Découvrez comment mettre à jour les requêtes de paramètres et les fichiers de paramètres
  • Définir le chemin d’accès pour le cadre de test, l’extension du connecteur et le répertoire de paramètres de test
  • Définir les identifiants de l’extension
  • Valider les données de test en exécutant des tests d’intégrité
  • Valider votre connecteur en exécutant l’ensemble standardisé de tests
  • Valider Query Folding et générer du texte de commande dans les fichiers de diagnostic

Définir les chemins d’PQTest.exe et d’extension dans le fichier RunPQSDKTestSuitesSettings.json

Accédez à \testframework\tests et ouvrez le fichier RunPQSDKTestSuitesSettings.json dans le dossier de référentiel cloné. Définissez ensuite les chemins d’accès pour PQTest.exe et l’extension dans le fichier config :

  • PQTestExePath : remplacez par le chemin d'accès à PQTest.ext. Par exemple, C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, où <Username> est le nom du dossier de votre profil utilisateur, x.x.x est la version actuelle de l'extension du Kit de développement logiciel (SDK) Power Query, et x.xxx.x est la version actuelle des outil Kit de développement logiciel (SDK) Power Query.
  • ExtensionPath : remplacez par le chemin d'accès au fichier mez d’extension. Par exemple, C:\dev\<ConnectorName>\<ConnectorName>.mez, où <ConnectorName> est le nom de votre connecteur.

Remarque

Vous trouverez des informations supplémentaires sur toutes les variables que vous pouvez définir dans le fichier RunPQSDKTestSuitesSettings.json dans le modèle \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.json fourni.

Mettre à jour les requêtes de paramètres et le fichier de paramètres avec les détails spécifiques à votre connecteur d’extension de source de données

L’exécution du script PowerShell .\RunPQSDKTestSuites.ps1 crée les requêtes de paramètres et les paramètres de test en créant un dossier portant <le nom de l’extension>, ainsi que les dossiers Paramètres et ParameterQueries sous celui-ci comme suit :

  • testframework\tests\ConnectorConfigs\<Extension Name>\ParameterQueries
  • testframework\tests\ConnectorConfigs\<Extension Name>\Settings

Les exemples suivants montrent les chemins d’accès d’un connecteur nommé Contoso :

  • testframework\tests\TestSuites\Contoso\ParameterQueries
  • testframework\tests\TestSuites\Contoso\Settings

Remarque

Mettez à jour la requête M dans le ou les fichiers de requête avec paramètres générés pour vous connecter à votre source de données et récupérer les tables NycTaxiGreen & TaxiZoneLookup précédemment chargées.

Vous pouvez également créer manuellement les fichiers de requête avec paramètres et les fichiers de paramètres pour votre source de données, procédez comme suit :

  1. Accédez au dossier \testframework\tests\ConnectorConfigs sous le dossier de référentiel cloné.
  2. Effectuez une copie du dossier \generic et renommez-le en nom d’extension.
  3. Ouvrez chaque fichier dans le dossier \ParameterQueries et mettez à jour la requête M comme instructions fournies dans ces fichiers.
  4. Ouvrez chaque fichier dans le dossier \Paramètres et mettez à jour ces fichiers pour qu’ils pointent vers le fichier de requête avec paramètres approprié.

Définir les identifiants de votre connecteur d’extension

Vérifiez que les identifiants sont configurés pour votre connecteur en suivant les instructions de la commande set-credential.

Vous pouvez également utiliser la commande credential-template pour générer un modèle d’identifiants au format JSON pour votre connecteur qui peut être transmis à la commande set-credential. Reportez-vous à la section credential-template sur l’utilisation pour générer un modèle d’identifiants.

# <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

Prenez la sortie de la commande précédente et remplacez les valeurs d’espace réservé par des identifiants corrects et enregistrez-la sous forme de fichier JSON (par exemple, contoso_cred.json).

Utilisez ensuite cette commande set-credential pour stocker les identifiants utilisés par la commande comparer pour exécuter les tests. À l’aide de la fenêtre PowerShell existante, définissez les identifiants de votre extension à l’aide du fichier d’informations d’identification JSON généré à l’étape précédente. Reportez-vous à la section set-credential sur l’utilisation pour configurer les identifiants de votre connecteur.

$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 que les données de test sont configurées correctement en exécutant les tests d’intégrité

Pour vous assurer que les modifications fonctionnent et que la configuration des données est correctement effectuée, exécutez les tests d’intégrité à l’aide de l’utilitaire RunPQSDKTestSuites.ps1 présent dans le répertoire \testframework\tests\TestSuites comme suit :

.\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
----------------------------------------------------------------------------------------------
#>

Exécuter les tests standard et d’intégrité

Exécuter à l’aide de l’utilitaire RunPQSDKTestSuites.ps1

Pour exécuter tous les tests standard et d’intégrité ou un ensemble de tests définis par le fichier de paramètres, exécutez la commande suivante pour exécuter les tests :

# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1

Pour en savoir plus sur l’utilitaire RunPQSDKTestSuites.ps1, exécutez la commande Get-Help comme suit :

Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed

Exécuter à l’aide de PQTest.exe

Utilisez la commande suivante dans la même fenêtre PowerShell pour exécuter des tests particuliers directement à l’aide de 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"

Consultez la documentation dans pqtest-overview pour plus d’informations sur l’exécution de tests avec PQTest.exe.

Exécution de tests de Query Folding

Les tests sous n’importe quelle intégrité et tests standard peuvent être exécutés pour valider Query Folding. Exécutez le test la première fois pour générer un fichier de sortie de diagnostic sous le dossier \testframework\tests\<Extension Name>\Diagnostics\. Les exécutions suivantes valident la sortie générée avec le fichier de sortie des diagnostics.

Exécuter des tests de Query Folding à l’aide de l’utilitaire RunPQSDKTestSuites.ps1

Validez Query Folding pour les tests d’intégrité et standard comme suit :

.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding

Remarque

Vous pouvez également spécifier ValidateQueryFolding=True dans le fichier \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.json.

Exécuter des tests de Query Folding à l’aide de 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"

Conclusion

Cette section a abordé les étapes de configuration des requêtes de paramètres et des fichiers de paramètres, qui sont ensuite nécessaires pour valider votre connecteur d’extension en exécutant l’ensemble de tests normalisé et d’intégrité.

Vous allez apprendre à ajouter des tests dans la section suivante. Vous découvrez également les différentes commandes et options disponibles dans le cadre de test, ainsi que différents paramètres personnalisables pour vos besoins de test.

Étapes suivantes

Cadre de test du Kit de développement logiciel (SDK) Power Query partie 6 - Ajout de vos tests et compréhension des différentes options