Dela via


Power Query SDK-testramverk del 4 – Testformatspecifikation

Den här referensen i flera delar beskriver konfigurationen och körningen av en standardserie med tester för Power Query-anslutningsutvecklare. Referensen är avsedd att utföras sekventiellt för att säkerställa att din miljö har konfigurerats för testning av din anpassade anslutningsapp.

Nu när du har konfigurerat miljön, laddat upp testdata och konfigurerat testpaketet är du redo att börja verifiera tilläggsanslutningen med testpaketet. Innan du kör testerna måste du förstå olika typer av filer och format i testramverket.

I det här avsnittet får du:

  • Lär dig vilka typer av filformat som används i testramverket och deras funktioner

Specifikation för tester i PQ/PQOut-format

Testerna för att verifiera tilläggsanslutningar med Power Query SDK-testramverket skrivs i PQ/PQOut-format.

I följande lista beskrivs de typer av filer som du behöver känna till när du arbetar med Power Query SDK-testramverket:

  • Testa frågefilen, även kallad PQ-fil, med tillägget .query.pq.
  • Utdatafil, även kallad PQOut-fil, med tillägget .query.pqout.
  • Valfri parameterfrågefil med tillägget .parameterquery.pq.
  • Valfri inställningsfil med filnamnstillägget .settings.
  • Valfri diagnostikfil med ett .diagnostics-tillägg.

Testa frågefilen, även kallad PQ-fil, med tillägget .query.pq

Testfrågefilen (.query.pq) innehåller en enda Power Query M-formelspråkfråga. Kombinationsfrågan består av variabler, uttryck och värden som kapslas in av ett let uttryck med ett anpassat namn på datakällan för anslutningstjänsten och nödvändiga metadata som ska köras.

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

Utdatafil, även kallad PQOut-fil, med tillägget .query.pqout

Utdatafilen (.query.pqout) innehåller de genererade utdata som ett resultat av körningen av jämförelsekommandot för ett test.

Följande exempel visar ett exempel på en utdatafil (PQOut), till exempel SnowflakeFirstNTests.query.pqout:

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

Valfri parameterfrågefil med tillägget .parameterquery.pq

Om du vill att testfallen ska köras oberoende av datakällan kan stöd för PQ/test-frågefilen delas upp i två delar: parameterfrågefilen och testfrågefilen.

Parameterfrågan är specifik för datakällan och hämtar testdata från datakällan. Om du vill köra testerna för en annan anslutningsapp måste du uppdatera den här filen så att den pekar på den specifika datakällan.

Följande exempel visar ett exempel på en parameterfrågefil, till exempel 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 valfria parameterfrågefilen tillhandahålls behöver testfrågan bara innehålla transformeringar till testdata. Dessa transformeringar är de M-uttryck som krävs för tester och gör dem oberoende av datakällan. Testfrågan måste också deklarera en M lambda-funktion som tar resultaten från parameterfrågan och kör testlogik på indataresultat.

Följande exempel visar ett exempel för en testfråga, till exempel SnowflakeFirstNTest.query.pq:

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

Valfri inställningsfil med filnamnstillägget .settings

Den valfria inställningsfilen är en JSON-fil som innehåller konfigurationsparametrarna som nyckelvärdepar.

Följande exempel visar ett exempel på en inställningsfil när den valfria parameterfrågefilen har angetts:

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

Valfri diagnostikfil med ett .diagnostics-tillägg

Den valfria diagnostikfilen innehåller för närvarande en lista med kommandotext som genereras när en M-fråga viks. Använd den för regressionstestning av frågedelegering.

Följande exempel visar ett exempel på en diagnostikfil, till exempel SnowflakeFirstNTest Inställningar.diagnostics:

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

Slutsats

I det här avsnittet introducerades olika filformat som du behöver känna till när du arbetar med Power Query SDK-testramverket.

I nästa avsnitt skapar du frågor och inställningar för att arbeta med datakällan för tilläggsanslutningen.

Nästa steg

Power Query SDK-testramverk del 5 – Testa tilläggsanslutningen