Power Query SDK-testikehyksen osa 5b – Laajennusliittimen testaaminen PowerShellillä

Note

Tässä artikkelissa käsitellään testaamista PowerShell-apuohjelman avulla. Jos haluat testata Visual Studio Code Test Explorerilla, katso Power Query SDK-testikehyksen osa 5a – Laajennusliittimen testaaminen Visual Studio Code:llä.

Tämä moniosainen viittaus kattaa Power Query -liitinkehittäjille tarkoitettujen vakiotestipakettien määrittämisen ja suorittamisen. Tämä viittaus on tarkoitettu tehtäväksi järjestyksessä sen varmistamiseksi, että ympäristösi on määritetty mukautetun liittimen testaamista varten.

Tähän mennessä olet suorittanut seuraavat vaiheet:

  • Ympäristön määrittäminen
  • Testitiedot ladattu palvelimeen
  • Testiohjelmisto ladattu palvelusta
  • Opit erilaisia tiedostomuotoja ja niiden toimintoja

Olet vihdoin valmis aloittamaan laajennusliittimen vahvistamisen testiohjelmiston avulla.

Tässä osiossa:

  • Opi päivittämään parametrikyselyt ja asetustiedostot
  • Määritä testikehyksen polku, liitinlaajennus ja testiasetushakemisto
  • Tunnistetietojen määrittäminen laajennusta varten
  • Vahvista testitiedot suorittamalla saniteettitestejä
  • Vahvista liitin suorittamalla standardoitu testijoukko
  • Kyselyn delegoinnin vahvistaminen lähteeseen ja komentotekstien luominen diagnostiikkatiedostoissa

RunPQSDKTestSuitesSettings.json-tiedoston PQTest.exe- ja laajennuspolkujen määrittäminen

Siirry kloonatun säilön kansiossa tiedoston \testframework\tests and open the RunPQSDKTestSuitesSettings.js. Määritä sitten PQTest.exe polut ja määritystiedoston tunniste:

  • PQTestExePath: Korvaa PQTest.ext-kohteen polulla. Esimerkiksi. C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft. PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, jossa <Username> on käyttäjäprofiilisi kansion nimi, x.x.x on Power Query SDK-laajennuksen ja x.xxx.x on Power Query SDK -työkalujen nykyinen versio.
  • ExtensionPath: Korvaa tunnisteen mez-tiedoston polulla. Esimerkki: C:\dev\<ConnectorName>\<ConnectorName.mez>, jossa <ConnectorName> on liittimesi nimi.

Note

Saat lisätietoja kaikista muuttujista, jotka voit määrittää RunPQSDKTestSuitesSettings.json -tiedostossa, annetusta mallin \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.js.

Päivitä parametrikyselyt ja -asetustiedosto tietolähteen laajennusliittimeesi liittyvät tiedot

PowerShell-komentosarjan suorittaminen.\RunPQSDKTestSuites.ps1 luo parametrikyselyt ja testiasetukset luomalla kansion, jossa on <Laajennuksen nimi> ja sen alla olevat Asetukset- ja Parametrikyselyt-kansiot:

  • testframework\tests\ConnectorConfigs\<Extension Name>\ParameterQueries
  • testframework\tests\ConnectorConfigs\<Extension Name>\Settings

Seuraavissa esimerkeissä näytetään, miltä Contoso-liittimen polut näyttävät:

  • testframework\tests\TestSuites\Contoso\ParameterQueries
  • testframework\tests\TestSuites\Contoso\Settings

Note

Päivitä M-kysely luoduissa parametrikyselytiedostoissa, jotta voit muodostaa yhteyden tietolähteeseen ja noutaa aiemmin ladatut NycTaxiGreen & TaxiZoneLookup-taulukot.

Vaihtoehtoisesti voit luoda tietolähteelle parametrikyselytiedostot ja -asetustiedostot manuaalisesti suorittamalla seuraavat vaiheet:

  1. Siirry kloonatun säilön kansiossa \testframework\tests\ConnectorConfigs-kansioon.
  2. Kopioi \generic-kansio ja nimeä se uudelleen laajennuksen nimellä.
  3. Avaa jokainen tiedosto \ParameterQueries-kansiossa ja päivitä M-kysely kyseisissä tiedostoissa annettujen ohjeiden mukaisesti.
  4. Avaa jokainen tiedosto \Settings-kansiossa ja päivitä oikeat parametrikyselytiedoston polut.

Laajennusliittimen tunnistetietojen määrittäminen

Varmista, että liittimelle on määritetty tunnistetiedot set-credential-komennon ohjeiden mukaisesti.

Vaihtoehtoisesti voit luoda liittimesi tunnistetietomallin JSON-muodossa käyttämällä tunnistetietomallikomentoa , joka voidaan välittää set-credential-komentoon . Lisätietoja tunnistetietomallin luomisen käytöstä on tunnistetietomalliosiossa .

# <Path to PQTest.exe>.\PQTest.exe credential-template -e <Path to Extension.exe> -q "<Replace with path to any parameter query file>" --prettyPrint --authenticationKind <Specify the authentication kind (Anonymous, UsernamePassword, Key, Windows, OAuth2)>
# Example:
C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\PQTest.exe credential-template -e "C:\dev\Contoso\Contoso.mez" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\ParameterQueries\Contoso\Contoso.parameterquery.pq" --prettyPrint --authenticationKind UsernamePassword

Ota edellisen komennon tulos, korvaa paikkamerkkiarvot oikeilla tunnistetiedoilla ja tallenna se JSON-tiedostona (esimerkiksi contoso_cred.json).

Tallenna sitten tunnistetiedot tällä set-credential-komennolla, jota Vertaa-komento käyttää testien suorittamiseen. Määritä tunnistetietosi käyttämällä aiemmin luotua PowerShell-ikkunaa käyttämällä edellisessä vaiheessa luotua JSON-tunnistetietotiedostoa. Lisätietoja liittimen tunnistetietojen määrittämisestä on osiossa Määritä tunnistetiedot .

$PQTestExe = "C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe"
$Extension = "C:\dev\Contoso\Contoso.mez"
# Get-Content "<Replace with path to the json credential file>" | & $PQTestExe set-credential -e $Extension -q "<Replace with the path to any parameter query file>"
# Example:
Get-Content "C:\dev\Misc\contoso_cred.json" | & C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\PQTest.exe  set-credential -p -e "C:\dev\Contoso\Contoso.mez" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\ParameterQueries\Contoso.parameterquery.pq"

Varmista, että testitiedot on määritetty oikein, suorittamalla saniteettitestit

Varmista, että muutokset toimivat ja että tiedot on määritetty oikein, suorittamalla saniteettitestit käyttämällä \testframework\tests\TestSuites-hakemistossa olevaa RunPQSDKTestSuites.ps1-apuohjelmaa seuraavasti:

.\RunPQSDKTestSuites.ps1 -TestSettingsList SanitySettings.json
<#
Example:
PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -TestSettingsList SanitySettings.json

Output:
----------------------------------------------------------------------------------------------
PQ SDK Test Framework - Test Execution - Test Results Summary for Extension: Contoso.pqx
----------------------------------------------------------------------------------------------
TestFolder  TestName                        OutputStatus TestStatus Duration
----------  --------                        ------------ ---------- --------
Sanity\Taxi AllTypes.query.pq               Passed       Passed     00:00:00.0227976
Sanity\Taxi AllTypesRowCount.query.pq       Passed       Passed     00:00:00.0001734
Sanity\Taxi AllTypesSchema.query.pq         Passed       Passed     00:00:00.0001085
Sanity\Zone AllTypesZone.query.pq           Passed       Passed     00:00:00.0010058
Sanity\Zone AllTypesZoneRowCount.query.pq   Passed       Passed     00:00:00.0001786
Sanity\Zone AllTypesZoneSchema.query.pq     Passed       Passed     00:00:00.0000920
----------------------------------------------------------------------------------------------
Total Tests: 6 | Passed: 6 | Failed: 0 | Total Duration: 00d:00h:00m:01s
----------------------------------------------------------------------------------------------
#>

Suorita mielenterveys- ja vakiotestit

Suorita RunPQSDKTestSuites.ps1-apuohjelman avulla

Jos haluat suorittaa kaikki saniteetti- ja vakiotestit tai asetustiedoston määrittämän testijoukon, suorita testit suorittamalla seuraava komento:

# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1

Saat lisätietoja RunPQSDKTestSuites.ps1-apuohjelmasta suorittamalla Get-Help-komennon seuraavasti:

Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed

Suorita käyttämällä PQTest.exe

Jos haluat suorittaa tiettyjä testejä suoraan PQTest.exeavulla, käytä seuraavaa komentoa samassa PowerShell-ikkunassa:

# <Path to PQTest.exe>PQTest.exe compare -p -e $Extension -pa <Replace with path to the parameter query> -q <Replace with the the path to test query>
# Example:
 C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.114.4\tools\PQTest.exe compare -p -e "$Extension" -pa "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\ParameterQueries\Contoso.parameterquery.pq" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Standard\Datatypes\Cast.query.pq"

Katso pqtest-yleiskatsauksen dokumentaatiosta lisätietoja testien suorittamisesta PQTest.exeavulla.

Kyselyn delegointi lähteeseen -testien suorittaminen

Minkä tahansa järki- ja vakiotestin testit voidaan suorittaa kyselyn delegoinnin vahvistamiseksi lähteeseen. Luo diagnostiikan tulostetiedosto ensimmäisen kerran \testframework\tests\<Extension Name>\Diagnostics\ -kansioon. Seuraavat suoritukset vahvistavat diagnostiikan tulostetiedostolla luodun tuloksen.

Suorita kyselyn delegointi lähteeseen -testit RunPQSDKTestSuites.ps1 apuohjelman avulla

Vahvista Kyselyn delegointi lähteeseen Sanity & Standard -testeille seuraavasti:

.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding

Note

Vaihtoehtoisesti voit määrittää ValidateQueryFolding=True tiedoston \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.js.

Suorita Kyselyn delegointi lähteeseen -testit PQTest.exe avulla

# <Path to PQText.exe> compare -p -e $Extension -pa <Replace with path to the parameter query> -q <Replace with the the path to test query> -dfp <Replace with path to the diagnostic output file>
# Example:
 C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.114.4\tools\PQTest.exe compare -p -e "$Extension" -pa "C:\dev\DataConnectors\testframework\tests\TestSuites\ParameterQueries\Contoso\Contoso.parameterquery.pq" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Standard\Datatypes\Cast.query.pq" -dfp "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\Diagnostics"

Johtopäätökset

Tässä osiossa käsiteltiin vaiheita niiden parametrikyselyiden ja asetustiedostojen määrittämiseksi, joita sitten tarvitaan laajennusliittimen vahvistamiseen suorittamalla saniteetti ja standardoitu testijoukko.

Seuraavassa osiossa opit lisäämään testejä. Saat myös tietoja eri komennoista ja vaihtoehdoista, jotka ovat käytettävissä testikehyksessä, sekä erilaisia mukautettavia asetuksia testaustarpeita varten.

Seuraavat vaiheet

Power Query SDK-testikehyksen osa 6: Testien lisääminen ja eri vaihtoehtojen ymmärtämisen