Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Note
Bu makale, PowerShell yardımcı programını kullanarak test etme konularını kapsar. Visual Studio Code Test Gezgini'ni kullanarak test için bkz. Power Query SDK test çerçevesi bölüm 5a - Uzantı bağlayıcınızı Visual Studio Code ile 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
RunPQSDKTestSuitesSettings.json dosyasındaki PQTest.exe ve uzantı yollarını ayarlama
Kopyalanan depo klasöründeki dosyada \testframework\tests and open the RunPQSDKTestSuitesSettings.jsgidin. 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 <Username> 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\<ConnectorName>\<ConnectorName.mez>, burada <ConnectorName> bağlayıcınızın adıdır.
Note
Ayarlayabileceğiniz tüm değişkenler hakkında daha fazla bilgiyi şablonda sağlanan \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.jsRunPQSDKTestSuitesSettings.json dosyasında bulabilirsiniz.
Parametre sorgularını ve ayarlar dosyasını veri kaynağı uzantısı bağlayıcınıza özgü ayrıntılarla güncelleştirin
PowerShell betiğini çalıştırma.\RunPQSDKTestSuites.ps1, 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\ConnectorConfigs\<Extension Name>\ParameterQueries
- testframework\tests\ConnectorConfigs\<Extension Name>\Settings
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\Settings
Note
Oluşturulan parametre sorgu dosyalarındaki M sorgusunu veri kaynağınıza bağlanacak şekilde güncelleştirin ve daha önce karşıya yüklenen NycTaxiGreen & TaxiZoneLookup tablolarını alın.
Alternatif olarak, aşağıdaki adımları uygulayarak veri kaynağınız için parametre sorgu dosyalarını ve ayar dosyalarını el ile oluşturun:
- Kopyalanan depo klasörünün altındaki \testframework\tests\ConnectorConfigs klasörüne gidin.
- \generic klasörünün bir kopyasını oluşturun ve uzantı adıyla yeniden adlandırın.
- \ParameterQueries klasöründeki her dosyayı açın ve M sorgusunu bu dosyalarda sağlanan yönergeler olarak güncelleştirin.
- \Ayarlar klasöründeki her dosyayı açın ve doğru parametre sorgu dosyası yollarını 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, set-credential komutuna geçirilebilen credential-template komutunu kullanarak bağlayıcınız için JSON biçiminde bir kimlik bilgisi şablonu oluşturun. Kimlik bilgisi şablonu oluşturma kullanımı hakkında bilgi için 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 compare komutu tarafından kullanılan bu set-credential komutunu kullanarak kimlik bilgilerini depolayı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ılan 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
Akıllılık ve standart testler kümesinin tamamını veya ayarlar dosyası tarafından tanımlanan bir test kümesini ç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.exekullanarak 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.exeile 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
Note
Alternatif olarak, dosyadaki \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.jsbelirtin ValidateQueryFolding=True .
PQTest.exe kullanarak sorguyu 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