Condividi tramite


Framework di test di Power Query SDK parte 4 - Specifica del formato di test

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. Il riferimento deve essere eseguito in sequenza per assicurarsi che l'ambiente sia configurato per il test del connettore personalizzato.

Dopo aver configurato l'ambiente, caricato i dati di test e configurato il gruppo di test, è possibile iniziare a verificare il connettore di estensione con il gruppo di test. Prima di eseguire i test, è necessario comprendere i diversi tipi di file e formati all'interno del framework di test.

In questa sezione verrà illustrato come:

  • Informazioni sui tipi di formati di file usati all'interno del framework di test e sulle relative funzionalità

Specifica per i test in formato PQ/PQOut

I test per verificare i connettori di estensione con il framework di test di Power Query SDK vengono scritti in formato PQ/PQOut.

L'elenco seguente descrive i tipi di file da tenere presenti durante l'uso del framework di test di Power Query SDK:

  • File di query di test, noto anche come file PQ, con estensione query.pq.
  • File di output, noto anche come file PQOut, con estensione .query.pqout.
  • File di query dei parametri facoltativo con estensione parameterquery.pq.
  • File di impostazioni facoltativo con estensione settings.
  • File di diagnostica facoltativo con estensione diagnostics.

File di query di test, noto anche come file PQ, con estensione .query.pq

Il file di query di test (.query.pq) contiene una singola query del linguaggio di formula M di Power Query. La query mashup è costituita da variabili, espressioni e valori incapsulati da un'espressione let con un nome di funzione origine dati connettore personalizzato e metadati necessari per l'esecuzione.

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

File di output, noto anche come file PQOut, con estensione query.pqout

Il file di output (.query.pqout) contiene l'output generato in seguito all'esecuzione del comando compare per un test.

L'esempio seguente mostra un esempio di file di output (PQOut), ad esempio SnowflakeFirstNTests.query.pqout:

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

File di query dei parametri facoltativo con estensione parameterquery.pq

Per fare in modo che i test case vengano eseguiti in modo indipendente dall'origine dati, il supporto per il file di query PQ/test può essere suddiviso in due parti: il file di query dei parametri e il file di query di test.

La query del parametro è specifica dell'origine dati e recupera i dati di test dall'origine dati. Se si desidera eseguire i test per un altro connettore, è necessario aggiornare questo file in modo che punti a tale origine dati specifica.

L'esempio seguente mostra un esempio di file di query di parametri, ad esempio 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 viene fornito il file di query dei parametri facoltativo, la query di test deve contenere solo trasformazioni nei dati di test. Queste trasformazioni sono le espressioni M necessarie per i test e renderle indipendenti dall'origine dati. La query di test deve anche dichiarare una funzione lambda M che accetta i risultati dalla query del parametro ed esegue la logica di test sui risultati di input.

L'esempio seguente mostra un esempio per una query di test, ad esempio SnowflakeFirstNTest.query.pq:

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

File di impostazioni facoltativo con estensione settings

Il file di impostazioni facoltativo è un file JSON che contiene i parametri di configurazione come coppie chiave-valore.

L'esempio seguente mostra un esempio per un file di impostazioni quando viene specificato il file di query del parametro facoltativo:

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

File di diagnostica facoltativo con estensione diagnostics

Il file di diagnostica facoltativo contiene attualmente un elenco di testo del comando generato quando viene piegata una query M. Usarlo per il test di regressione della riduzione delle query.

L'esempio seguente illustra un esempio per un file di diagnostica, ad esempio SnowflakeFirstNTest Impostazioni.diagnostics:

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

Conclusione

In questa sezione sono stati illustrati vari formati di file che è necessario avere familiarità con il framework di test di Power Query SDK.

Nella sezione successiva vengono create query e impostazioni da usare con l'origine dati per il connettore di estensione.

Passaggi successivi

Framework di test di Power Query SDK parte 5 - Test del connettore di estensione