Jaa


Power Query SDK -testikehys, osa 5 – Laajennusliittimen testaaminen

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

Määritä RunPQSDKTestSuites Asetukset.json-tiedoston PQTest.exe- ja laajennuspolut

Siirry kohteeseen \testframework\tests ja avaa RunPQSDKTestSuites Asetukset.json-tiedosto kloonatussa säilökansiossa. Määritä sitten PQTest.exe polut ja määritystiedoston tunniste:

  • PQTestExePath: Korvaa PQTest.ext-polulla. Esimerkki: 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< Käyttäjänimi> on käyttäjäprofiilisi kansion nimi, x.x.x on Power Query SDK -laajennuksen nykyinen versio, ja x.xxx.x on Power Query SDK -työkalujen nykyinen versio.
  • ExtensionPath: Korvaa tunnisteen mez-tiedoston polulla. Esimerkki: C:\dev\<Näyttöyhteys orName>\<Näyttöyhteys orName.mez>, jossa <Näyttöyhteys orName> on liittimesi nimi.

Muistiinpano

Saat lisätietoja kaikista muuttujista, jotka voit määrittää RunPQSDKTestSuites Asetukset.json-tiedostossa annetusta \testframework\tests\RunPQSDKTestSuites Asetukset Template.json mallista.

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

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

  • testframework\tests\Näyttöyhteys orConfigs\<Extension Name>\ParameterQueries
  • testframework\tests\Näyttöyhteys orConfigs\<Extension Name>\Asetukset

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

  • testframework\tests\TestSuites\Contoso\ParameterQueries
  • testframework\tests\TestSuites\Contoso\Asetukset

Muistiinpano

Päivitä M-kysely luoduissa parametrikyselytiedostoissa yhteyden muodostamiseksi tietolähteeseen ja aiemmin ladatun NycTaxiGreen & TaxiZoneLookup-taulukoiden noutamiseksi.

Vaihtoehtoisesti voit luoda manuaalisesti parametrikyselytiedostoja ja asetustiedostoja tietolähteellesi suorittamalla seuraavat vaiheet:

  1. Siirry \testframework\tests\Näyttöyhteys orConfigs-kansioon kloonatun säilön kansiossa.
  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 kansiossa \Asetukset ja päivitä tiedostot osoittamaan oikeaan parametrikyselytiedostoon.

Laajennusliittimen tunnistetietojen määrittäminen

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

Vaihtoehtoisesti voit käyttää tunnistetietomallikomentoa luodaksesi JSON-muodossa tunnistetietomallin liittimellesi, joka voidaan välittää set-credential-komentoon. Luo tunnistetietomalli tunnistetietomallien osiosta käyttö.

# <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 tämän set-credential-komennon avulla tunnistetiedot, joita 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. Määritä liittimesi tunnistetiedot määritysosiosta.

$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 tietoasetukset tehdään oikein, suorittamalla saniteettitestit käyttämällä RunPQSDKTestSuites.ps1-apuohjelmaa, joka on \testframework\tests\TestSuites-hakemistossa 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 järki- ja vakiotestit tai asetustiedoston määrittämät testit, suorita seuraava komento testien suorittamiseksi:

# 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

Suorita tietyt testit suoraan PQTest.exe käyttämällä 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"

Lisätietoja PQTest.exe testien suorittamisesta on pqtest-yleiskatsauksen ohjeissa.

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 taitettavia testejä RunPQSDKTestSuites.ps1-apuohjelmalla

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

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

Muistiinpano

Vaihtoehtoisesti voit määrittää tiedostossa ValidateQueryFolding=True \testframework\tests\TestSuite\RunPQSDKTestSuites Asetukset.json.

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"

Yhteenveto

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 asetusten ymmärtäminen