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:
- Siirry \testframework\tests\Näyttöyhteys orConfigs-kansioon kloonatun säilön kansiossa.
- Kopioi \generic-kansio ja nimeä se uudelleen laajennuksen nimellä.
- Avaa jokainen tiedosto \ParameterQueries-kansiossa ja päivitä M-kysely kyseisissä tiedostoissa annettujen ohjeiden mukaisesti.
- 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