Aracılığıyla paylaş


Power Query SDK test çerçevesi bölüm 5 - Uzantı bağlayıcınızı test etme

Bu çok parçalı başvuru, Power Query bağlayıcısı geliştiricileri için standart bir test paketinin kurulumunu ve çalıştırılmasını kapsar. Bu başvuru, ortamınızın özel bağlayıcınızı test etmek üzere ayarlandığından emin olmak için sırayla yapılması amaçlanır.

Şu ana kadar aşağıdaki adımları tamamladınız:

  • Ortamı ayarlama
  • Test verileri karşıya yüklendi
  • Test paketini indirdim
  • Çeşitli dosya biçimlerini ve bunların işlevlerini öğrendin

Sonunda uzantı bağlayıcınızı test paketiyle doğrulamaya başlamaya hazırsınız.

Bu bölümde şunları yapacaksınız:

  • Parametre sorgularını ve ayarlar dosyalarını güncelleştirmeyi öğrenin
  • Test çerçevesi, bağlayıcı uzantısı ve test ayarı dizininin yolunu ayarlama
  • Uzantı için kimlik bilgilerini ayarlama
  • Akıllılık testleri çalıştırarak test verilerini doğrulama
  • Standartlaştırılmış test kümesini çalıştırarak bağlayıcınızı doğrulama
  • Sorguyu kaynağa döndürmeyi doğrulama ve tanılama dosyalarında komut metni oluşturma

RunPQSDKTestSuites Ayarlar.json dosyasında PQTest.exe ve uzantı yollarını ayarlayın

\testframework\tests konumuna gidin ve kopyalanan depo klasöründe RunPQSDKTestSuites Ayarlar.json dosyasını açın. Ardından, yapılandırma dosyasındaki PQTest.exe ve uzantının yollarını ayarlayın:

  • PQTestExePath: yerine PQTest.ext yolunu ekleyin. Örneğin, C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe; burada <Kullanıcı> adı kullanıcı profili klasörünüzün adıdır, x.x.x Power Query SDK uzantısının geçerli sürümüdür ve x.xxx.x, Power Query SDK araçlarının geçerli sürümüdür.
  • ExtensionPath: öğesini extension mez dosyasının yoluyla değiştirin. Örneğin, C:\dev\<Bağlan orName>\<Bağlan orName.mez>, burada <Bağlan orName> bağlayıcınızın adıdır.

Not

RunPQSDKTestSuites Ayarlar.json dosyasında ayarlayabileceğiniz tüm değişkenler hakkında daha fazla bilgiyi sağlanan \testframework\tests\RunPQSDKTestSuites Ayarlar Template.json şablonunda bulabilirsiniz.

Parametre sorgularını ve ayarlar dosyasını veri kaynağı uzantısı bağlayıcınıza özgü ayrıntılarla güncelleştirin

.\RunPQSDKTestSuites.ps1 PowerShell betiğini çalıştırmak, Uzantı Adı> ve <altında Ayarlar ve ParameterQueries klasörleri bulunan bir klasör oluşturarak parametre sorgularını ve test ayarlarını aşağıdaki gibi oluşturur:

  • testframework\tests\Bağlan orConfigs\<Extension Name>\ParameterQueries
  • testframework\tests\Bağlan orConfigs\<Extension Name>\Ayarlar

Aşağıdaki örneklerde Contoso adlı bir bağlayıcının yollarının nasıl görüneceği gösterilmektedir:

  • testframework\tests\TestSuites\Contoso\ParameterQueries
  • testframework\tests\TestSuites\Contoso\Ayarlar

Not

Oluşturulan parametre sorgu dosyalarındaki M sorgusunu veri kaynağınıza bağlanacak ve daha önce karşıya yüklenen NycTaxiGreen & TaxiZoneLookup tablolarını alacak şekilde güncelleştirin.

Alternatif olarak, veri kaynağınız için parametre sorgu dosyalarını ve ayar dosyalarını el ile oluşturmak için aşağıdaki adımları gerçekleştirin:

  1. Kopyalanan depo klasörünün altındaki \testframework\tests\Bağlan orConfigs klasörüne gidin.
  2. \generic klasörünün bir kopyasını oluşturun ve uzantı adıyla yeniden adlandırın.
  3. \ParameterQueries klasöründeki her dosyayı açın ve M sorgusunu bu dosyalarda sağlanan yönergeler olarak güncelleştirin.
  4. \Ayarlar klasöründeki her dosyayı açın ve bu dosyaları doğru parametre sorgu dosyasına işaret eden şekilde güncelleştirin.

Uzantı bağlayıcınızın kimlik bilgilerini ayarlama

set-credential komutuna yönelik yönergeleri izleyerek bağlayıcınız için kimlik bilgilerinin ayarlandığından emin olun.

Alternatif olarak, bağlayıcınız için set-credential komutuna geçirilebilen JSON biçiminde bir kimlik bilgisi şablonu oluşturmak için credential-template komutunu kullanın. Kimlik bilgisi şablonu oluşturmak için kullanımın credential-template bölümüne bakın.

# <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

Önceki komutun çıktısını alın ve yer tutucu değerlerini doğru kimlik bilgileriyle değiştirin ve JSON dosyası olarak kaydedin (örneğin, contoso_cred.json).

Ardından, testleri çalıştırmak için karşılaştır komutu tarafından kullanılan kimlik bilgilerini depolamak için bu set-credential komutunu kullanın. Mevcut PowerShell penceresini kullanarak, önceki adımda oluşturulan JSON kimlik bilgisi dosyasını kullanarak uzantınızın kimlik bilgilerini ayarlayın. Bağlayıcınızın kimlik bilgilerini ayarlamak için kullanımın set-credential bölümüne bakın.

$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"

Akıllılık testlerini çalıştırarak test verilerinin doğru ayarlandığını doğrulayın

Değişikliklerin çalıştığından ve veri kurulumunun doğru yapıldığından emin olmak için, \testframework\tests\TestSuites dizininde bulunan RunPQSDKTestSuites.ps1 yardımcı programını kullanarak aşağıdaki gibi akıl sağlığı testlerini çalıştırın:

.\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
----------------------------------------------------------------------------------------------
#>

Akıl sağlığı ve standart testleri çalıştırma

RunPQSDKTestSuites.ps1 yardımcı programını kullanarak çalıştırma

Tüm akıl sağlığı ve standart testleri veya ayarlar dosyası tarafından tanımlanan bir dizi testi çalıştırmak için aşağıdaki komutu çalıştırarak testleri çalıştırın:

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

RunPQSDKTestSuites.ps1 yardımcı programı hakkında daha fazla bilgi edinmek için Get-Help komutunu aşağıdaki gibi çalıştırın:

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

PQTest.exe kullanarak çalıştırma

PQTest.exe kullanarak belirli testleri doğrudan çalıştırmak için aynı PowerShell penceresinde aşağıdaki komutu kullanın:

# <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"

PQTest.exe ile test çalıştırma hakkında daha fazla bilgi için pqtest-overview içindeki belgeleri gözden geçirin.

Sorguyu katlama testlerini çalıştırma

Sorguyu kaynağa döndürmeyi doğrulamak için herhangi bir akıl sağlığı ve standart test kapsamındaki testler çalıştırılabilir. \testframework\tests<\Extension Name>\Diagnostics\ klasörü altında bir tanılama çıktı dosyası oluşturmak için testi ilk kez çalıştırın. Sonraki çalıştırmalar, tanılama çıktı dosyasıyla oluşturulan çıkışı doğrular.

RunPQSDKTestSuites.ps1 yardımcı programını kullanarak sorgu katlama testleri çalıştırma

Sanity ve Standart Testler için Sorguyu kaynağa döndürmeyi aşağıdaki gibi doğrulayın:

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

Not

Alternatif olarak, \testframework\tests\TestSuite\RunPQSDKTestSuites Ayarlar.json dosyasında belirtinValidateQueryFolding=True.

PQTest.exe kullanarak sorgu katlama testleri çalıştırma

# <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"

Sonuç

Bu bölümde parametre sorgularını ve ayar dosyalarını ayarlama adımları ele alınmıştır. Bu adımlar, daha sonra akıllı ve standartlaştırılmış test kümesini çalıştırarak uzantı bağlayıcınızı doğrulamak için gereklidir.

Sonraki bölümde daha fazla test eklemeyi öğreneceksiniz. Ayrıca test çerçevesinde kullanılabilen çeşitli komutlar ve seçenekler ve test gereksinimleriniz için çeşitli özelleştirilebilir ayarlar hakkında da bilgi edinebilirsiniz.

Sonraki adımlar

Power Query SDK test çerçevesi bölüm 6 - Testlerinizi ekleme ve çeşitli seçenekleri anlama