Del via


Power Query SDK-teststrukturdel 4 – Specifikation af testformat

Denne reference med flere dele dækker konfiguration og kørsel af en standardpakke med test til udviklere af Power Query-connectors. Referencen er beregnet til at blive udført sekventielt for at sikre, at dit miljø er konfigureret til test af din brugerdefinerede connector.

Nu, hvor du har konfigureret miljøet, uploadet testdataene og konfigureret testpakken, er du klar til at begynde at bekræfte din udvidelsesconnector med testpakken. Før du kører testene, skal du forstå forskellige typer filer og formater i teststrukturen.

I dette afsnit kan du:

  • Få mere at vide om de filtyper, der bruges i teststrukturen, og deres funktionalitet

Specifikation for test i PQ/PQOut-format

Testene til bekræftelse af udvidelsesconnectors med Power Query SDK-teststrukturen er skrevet i PQ/PQOut-format.

På følgende liste beskrives de filtyper, du skal være opmærksom på, når du arbejder med Power Query SDK-teststrukturen:

  • Test forespørgselsfil, også kendt som en PQ-fil, med filtypenavnet .query.pq.
  • Outputfil, også kendt som en PQOut-fil, med filtypenavnet .query.pqout.
  • Valgfri parameterforespørgselsfil med filtypenavnet .parameterquery.pq.
  • Valgfri indstillingsfil med filtypenavnet .settings.
  • Valgfri diagnosticeringsfil med filtypenavnet .diagnosticering.

Test forespørgselsfil, også kendt som en PQ-fil, med filtypenavnet .query.pq

Testforespørgselsfilen (.query.pq) indeholder en enkelt M-formelsprogforespørgsel i Power Query. Miksforespørgslen består af variabler, udtryk og værdier, der er indkapslet af et let udtryk med navnet på en brugerdefineret connectordatakildefunktion og de påkrævede metadata, der skal udføres.

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

Outputfil, også kendt som en PQOut-fil, med filtypenavnet .query.pqout

Outputfilen (.query.pqout) indeholder det genererede output som et resultat af at køre kommandoen sammenlign for en test.

I følgende eksempel vises et eksempel på en outputfil (PQOut), f.eks. SnowflakeFirstNTests.query.pqout:

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

Valgfri parameterforespørgselsfil med filtypenavnet .parameterquery.pq

Hvis testcases skal køre uafhængigt af datakilden, kan understøttelse af PQ-/testforespørgselsfilen opdeles i to dele: parameterforespørgselsfilen og testforespørgselsfilen.

Parameterforespørgslen er specifik for datakilden og henter testdata fra datakilden. Hvis du vil køre testene for en anden connector, skal du opdatere denne fil, så den peger på den pågældende datakilde.

I følgende eksempel vises et eksempel på en parameterforespørgselsfil, f.eks. 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

Når den valgfri parameterforespørgselsfil er angivet, skal testforespørgslen kun indeholde transformationer til testdataene. Disse transformationer er de M-udtryk, der kræves til test, og gør dem uafhængige af datakilden. Testforespørgslen skal derefter også deklarere en M lambda-funktion, der tager resultaterne fra parameterforespørgslen og kører testlogikken på inputresultater.

I følgende eksempel vises et eksempel på en testforespørgsel, f.eks. SnowflakeFirstNTest.query.pq:

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

Valgfri indstillingsfil med filtypenavnet .settings

Den valgfri indstillingsfil er en JSON-fil, der indeholder konfigurationsparametrene som nøgleværdipar.

I følgende eksempel vises et eksempel på en indstillingsfil, når den valgfri parameterforespørgselsfil er angivet:

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

Valgfri diagnosticeringsfil med filtypenavnet .diagnosticering

Den valgfri diagnosticeringsfil indeholder i øjeblikket en liste over kommandotekst, der genereres, når en M-forespørgsel foldes. Brug den til regressionstest af forespørgselsdelegering.

I følgende eksempel vises et eksempel på en diagnosticeringsfil, f.eks. SnowflakeFirstNTest Indstillinger.diagnosticering:

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

Konklusion

I dette afsnit blev du introduceret til forskellige filformater, som du skal kende, når du arbejder med Test Framework til Power Query SDK.

I næste afsnit skal du oprette forespørgsler og indstillinger, der kan arbejde med datakilden for din udvidelsesconnector.

Næste trin

Power Query SDK-teststruktur del 5 – Test af din udvidelsesconnector