Cadre de test du Kit de développement logiciel (SDK) Power Query partie 4 - Spécification du format de test
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. La 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é.
Maintenant que vous avez configuré l’environnement, chargé les données de test et configuré la suite de tests, vous êtes prêt à vérifier votre connecteur d’extension avec la suite de tests. Avant d’exécuter les tests, vous devez comprendre différents types de fichiers et de formats dans le cadre de test.
Dans cette section, vous allez :
- Découvrez les types de formats de fichiers utilisés dans le cadre de test et leurs fonctionnalités
Spécification des tests au format PQ/PQOut
Les tests de vérification des connecteurs d’extension avec le cadre de test du Kit de développement logiciel (SDK) Power Query sont écrits au format PQ/PQOut.
La liste suivante décrit les types de fichiers dont vous avez besoin pour être informé lors de l’utilisation du cadre de test du Kit de développement logiciel (SDK) Power Query :
- Testez le fichier de requête, également appelé fichier PQ, avec une extension .query.pq.
- Fichier de sortie, également appelé fichier PQOut, avec une extension .query.pqout.
- Fichier de requête avec paramètres facultatif avec une extension .parameterquery.pq.
- Fichier de paramètres facultatif avec une extension .settings.
- Fichier de diagnostics facultatif avec une extension .diagnostics.
Tester le fichier de requête, également appelé fichier PQ, avec une extension .query.pq
Le fichier de requête de test (.query.pq) contient une seule requête de langage de formule Power Query M. La requête mashup est composée de variables, d’expressions et de valeurs encapsulées par une expression let
avec un nom de fonction de source de données de connecteur personnalisé et des métadonnées requises à exécuter.
let
Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
Database = Source{[Name="NYCTAXIDB”, Kind="Database"]}[Data],
Schema = Database{[Name="PUBLIC”, Kind="Schema"]}[Data],
Table = Schema{[Name="NYCTAXIDATA”, Kind="Table"]}[Data],
SelectColumns = Table.SelectColumns(Table, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
Fichier de sortie, également appelé fichier PQOut, avec une extension .query.pqout
Le fichier de sortie (.query.pqout) contient la sortie générée suite à l’exécution de la commande comparer pour un test.
L’exemple suivant montre un exemple de fichier de sortie (PQOut), par exemple, SnowflakeFirstNTests.query.pqout :
#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})
Fichier de requête avec paramètres facultatif avec une extension .parameterquery.pq
Pour que les cas de test s’exécutent indépendamment de la source de données, la prise en charge du fichier de requête PQ/test peut être divisée en deux parties : le fichier de requête avec paramètres et le fichier de requête de test.
La requête avec paramètres est spécifique à la source de données et récupère les données de test de la source de données. Si vous souhaitez exécuter les tests d’un autre connecteur, vous devez mettre à jour ce fichier pour qu’il pointe vers cette source de données spécifique.
L’exemple suivant montre un exemple de fichier de requête avec paramètres, par exemple Taxi.parameterquery.pq :
let
Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
Database = Source{[Name="NYCTAXIDB", Kind="Database"]}[Data],
Schema = Database{[Name="PUBLIC", Kind="Schema"]}[Data],
Table = Schema{[Name="NYCTAXIDATA", Kind="Table"]}[Data],
in
Table
Lorsque le fichier de requête avec paramètres facultatif est fourni, la requête de test doit uniquement contenir des transformations vers les données de test. Ces transformations sont les expressions M requises pour les tests et les rend indépendantes de la source de données. La requête de test doit ensuite déclarer une fonction lambda M qui prend les résultats de la requête avec paramètres et exécute la logique de test sur les résultats d’entrée.
L’exemple suivant montre un exemple de requête de test, par exemple, SnowflakeFirstNTest.query.pq :
(parameter) =>
let
SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
Fichier de paramètres facultatif avec une extension .settings
Le fichier de paramètres facultatif est un fichier JSON qui contient les paramètres de configuration sous forme de paires clé-valeur.
L’exemple suivant montre un exemple pour un fichier de paramètres lorsque le fichier de requête avec paramètres facultatif est spécifié :
{
'Extension': 'snowflake.mez',
'ParameterQueryFilePath': 'contoso.parameterquery.pq'
'QueryFilePath': 'contoso.query.pq',
'FailOnMissingOutputFile': true
}
Fichier de diagnostics facultatif avec une extension .diagnostics
Le fichier de diagnostics facultatif contient actuellement une liste de texte de commande qui est générée lorsqu’une requête M est pliée. Utilisez-le pour le test de régression de Query Folding.
L’exemple suivant montre un exemple de fichier de diagnostic, par exemple, SnowflakeFirstNTestSettings.diagnostics :
[
{
"Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
}
]
Conclusion
Cette section vous a présenté différents formats de fichier que vous devez connaître lors de l’utilisation du cadre de test du Kit de développement logiciel (SDK) Power Query.
Dans la section suivante, vous créez des requêtes et des paramètres pour utiliser votre source de données pour votre connecteur d’extension.