Compartir a través de


Marco de pruebas del SDK de Power Query, parte 4: especificación del formato de prueba

Esta referencia de varias partes abarca la configuración y ejecución de un conjunto estándar de pruebas para desarrolladores de conectores de Power Query. Esta referencia está pensada para realizarse secuencialmente a fin de asegurarse de que el entorno está configurado para probar el conector personalizado.

Ahora que ha configurado el entorno, ha cargado los datos de prueba y ha configurado el conjunto de pruebas, está listo para empezar a comprobar el conector de extensión con el conjunto de pruebas. Antes de ejecutar las pruebas, debe comprender los distintos tipos de archivos y formatos dentro del marco de pruebas.

En esta sección:

  • Obtenga información sobre los tipos de formatos de archivo que se usan en el marco de pruebas y su funcionalidad

Especificación de pruebas en formato PQ/PQOut

Las pruebas para comprobar los conectores de extensión con el marco de pruebas del SDK de Power Query se escriben en formato PQ/PQOut.

En la lista siguiente se describen los tipos de archivos que debe tener en cuenta al trabajar con el marco de pruebas del SDK de Power Query:

  • Archivo de consulta de pruebas, también conocido como archivo PQ, con una extensión .query.pq.
  • Archivo de resultados, también conocido como archivo PQOut, con una extensión .query.pqout.
  • Archivo de consulta de parámetros opcional con una extensión .parameterquery.pq.
  • Archivo de configuración opcional con una extensión .settings.
  • Archivo de diagnóstico opcional con una extensión .diagnostics.

Archivo de consulta de pruebas, también conocido como archivo PQ, con una extensión .query.pq.

El archivo de consulta de prueba (.query.pq) contiene una única consulta del lenguaje de fórmulas M de Power Query. La consulta mashup se compone de variables, expresiones y valores encapsulados por una expresión let con un nombre de función de origen de datos del conector personalizado y metadatos necesarios para ejecutarse.

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

Archivo de resultados, también conocido como archivo PQOut, con una extensión .query.pqout

El archivo de salida (.query.pqout) contiene la salida generada como resultado de ejecutar el comando compare para una prueba.

En el ejemplo siguiente se muestra un ejemplo de un archivo de salida (PQOut), por ejemplo, SnowflakeFirstNTests.query.pqout:

#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})

Archivo de consulta de parámetros opcional con una extensión .parameterquery.pq

Para que los casos de prueba se ejecuten independientemente del origen de datos, la compatibilidad con el archivo de consulta de pruebas/PQ se puede dividir en dos partes: el archivo de consulta de parámetros y el archivo de consulta de prueba.

La consulta de parámetros es específica del origen de datos y recupera datos de prueba del origen de datos. Si desea ejecutar las pruebas para otro conector, debe actualizar este archivo para que apunte a ese origen de datos específico.

En el ejemplo siguiente se muestra un ejemplo de un archivo de consulta de parámetros, por ejemplo, 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

Cuando se proporciona el archivo de consulta de parámetros opcional, la consulta de prueba solo debe contener transformaciones a los datos de prueba. Estas transformaciones son las expresiones M necesarias para las pruebas y hacen que sea independiente del origen de datos. La consulta de prueba también debe declarar una función lambda M que tome los resultados de la consulta de parámetros y ejecute la lógica de prueba en los resultados de entrada.

En el ejemplo siguiente se muestra un ejemplo de una consulta de prueba, por ejemplo, SnowflakeFirstNTest.query.pq:

(parameter) => 
let
   SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
   FirstN = Table.FirstN(SelectColumns, 1)
in
   FirstN

Archivo de configuración opcional con una extensión .settings

El archivo de configuración opcional es un archivo JSON que contiene los parámetros de configuración como pares clave-valor.

En el ejemplo siguiente se muestra un ejemplo de un archivo de configuración cuando se especifica el archivo de consulta de parámetros opcional:

{
    'Extension': 'snowflake.mez',
    'ParameterQueryFilePath': 'contoso.parameterquery.pq'
    'QueryFilePath': 'contoso.query.pq',
    'FailOnMissingOutputFile': true
}

Archivo de diagnóstico opcional con una extensión .diagnostics

El archivo de diagnóstico opcional contiene actualmente una lista de texto de comandos que se genera cuando se pliega una consulta M. Úselo para las pruebas de regresión del plegado de consultas.

En el ejemplo siguiente se muestra un ejemplo de un archivo de diagnóstico, por ejemplo, SnowflakeFirstNTestSettings.diagnostics:

[
  {
    "Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
  }
]

Conclusión

En esta sección se han presentado los distintos formatos de archivo con los que debe familiarizarse al trabajar con el marco de pruebas del SDK de Power Query.

En la sección siguiente, creará consultas y configuraciones para trabajar con el origen de datos para el conector de extensión.

Pasos siguientes

Marco de pruebas del SDK de Power Query, parte 5: prueba del conector de extensión