Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esta referência com várias partes abrange a configuração e a execução de um conjunto padrão de testes para programadores de conectores do Power Query. A referência deve ser feita sequencialmente para garantir que o seu ambiente está configurado para testar o seu conector personalizado.
Agora que configurou o ambiente, carregou os dados de teste e configurou a suite de testes, está pronto para começar a verificar o conector de extensão com a suite de testes. Antes de executar os testes, é necessário compreender os diferentes tipos de ficheiros e formatos dentro do framework de teste.
Nesta secção, pode:
- Aprenda os tipos de formatos de ficheiro usados no framework de teste e a sua funcionalidade
Especificação para testes no formato PQ/PQOut
Os testes para verificar conectores de extensão com o framework de teste Power Query SDK são escritos em formato PQ/PQOut.
A lista seguinte descreve os tipos de ficheiros de que precisa de estar ciente ao trabalhar com o framework de teste do Power Query SDK:
- Ficheiro de consulta de teste, também conhecido como ficheiro PQ, com uma extensão .query.pq.
- Ficheiro de saída, também conhecido como ficheiro PQOut, com uma extensão .query.pqout.
- Ficheiro opcional de consulta de parâmetros com uma extensão .parameterquery.pq.
- Ficheiro de definições opcionais com uma extensão .settings.
- Ficheiro de diagnóstico opcional com extensão .diagnostics.
ficheiro de consulta de teste, também conhecido como ficheiro PQ, com uma extensão .query.pq
O ficheiro de consulta de teste (.query.pq) contém uma única consulta de linguagem de fórmulas Power Query M. A consulta mashup é composta por variáveis, expressões e valores encapsulados por uma let expressão com um nome de fonte de dados de conector personalizado e metadados necessários para executar.
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
Ficheiro de saída, também conhecido como ficheiro PQOut, com uma extensão .query.pqout
O ficheiro de saída (.query.pqout) contém a saída gerada como resultado da execução do comando compare para um teste.
O exemplo seguinte mostra um exemplo de ficheiro de saída (PQOut), por exemplo, SnowflakeFirstNTests.query.pqout:
#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})
Ficheiro opcional de consulta de parâmetros com uma extensão .parameterquery.pq
Para fazer com que os casos de teste corram independentemente da fonte de dados, o suporte ao ficheiro de consulta PQ/teste pode ser dividido em duas partes: o ficheiro de consulta de parâmetros e o ficheiro de consulta de teste.
A consulta de parâmetros é específica da fonte de dados e recupera dados de teste dessa fonte. Se quiseres fazer os testes para outro conector, então precisas de atualizar este ficheiro para apontar para essa fonte de dados específica.
O exemplo seguinte mostra um exemplo de ficheiro de consulta de parâmetros, por exemplo, 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
Quando o ficheiro opcional de consulta de parâmetros é fornecido, a consulta de teste só precisa de conter transformações nos dados de teste. Estas transformações são as M expressões necessárias para os testes e tornam-nas independentes da fonte de dados. A consulta de teste também precisa de declarar uma função M lambda que recolhe os resultados da consulta de parâmetros e executa a lógica de teste sobre os resultados de entrada.
O exemplo seguinte mostra um exemplo para uma consulta de teste, por exemplo, SnowflakeFirstNTest.query.pq:
(parameter) =>
let
SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
Ficheiro de definições opcionais com extensão .settings
O ficheiro de definições opcional é um ficheiro JSON, que contém os parâmetros de configuração como pares-chave-valor.
O exemplo seguinte mostra um exemplo para um ficheiro de definições quando o ficheiro de consulta de parâmetro opcional é especificado:
{
'Extension': 'snowflake.mez',
'ParameterQueryFilePath': 'contoso.parameterquery.pq'
'QueryFilePath': 'contoso.query.pq',
'FailOnMissingOutputFile': true
}
Ficheiro de diagnóstico opcional com extensão .diagnostics
O ficheiro de diagnóstico opcional contém atualmente uma lista de texto de comandos que é gerada quando uma Consulta M é dobrada. Use-o para testes de regressão de query folding.
O exemplo seguinte mostra um exemplo para um ficheiro de diagnóstico, por exemplo, SnowflakeFirstNTestSettings.diagnostics:
[
{
"Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
}
]
Conclusion
Esta secção apresentou-lhe vários formatos de ficheiro que precisa de estar familiarizado enquanto trabalha com o framework de teste do Power Query SDK.
Na secção seguinte, cria consultas e definições para trabalhar com a sua fonte de dados para o conector de extensão.