Μέρος 5 του πλαισίου δοκιμής SDK του Power Query - Δοκιμή της σύνδεσης επέκτασης
Αυτή η αναφορά σε πολλά μέρη καλύπτει τη ρύθμιση και την εκτέλεση μιας τυπικής οικογένειας δοκιμών για προγραμματιστές συνδέσεων Power Query. Αυτή η αναφορά προορίζεται να γίνει διαδοχικά για να εξασφαλιστεί ότι το περιβάλλον σας έχει ρυθμιστεί για δοκιμή της προσαρμοσμένης σύνδεσής σας.
Μέχρι στιγμής, ολοκληρώσατε τα παρακάτω βήματα:
- Ρύθμιση του περιβάλλοντος
- Αποστολή των δεδομένων δοκιμής
- Λήψη της οικογένειας δοκιμών
- Μάθατε διάφορες μορφές αρχείων και τις λειτουργίες τους
Είστε επιτέλους έτοιμοι να αρχίσετε να επαληθεύετε τη σύνδεση επέκτασης με την οικογένεια δοκιμών.
Σε αυτήν την ενότητα, θα κάνετε τα εξής:
- Μάθετε πώς να ενημερώνετε τα ερωτήματα παραμέτρων και τα αρχεία ρυθμίσεων
- Ορισμός της διαδρομής για το πλαίσιο δοκιμής, την επέκταση σύνδεσης και τον κατάλογο ρυθμίσεων δοκιμής
- Ορισμός διαπιστευτηρίων για την επέκταση
- Επικύρωση των δεδομένων δοκιμής με την εκτέλεση δοκιμών λογικής
- Επικυρώστε τη σύνδεσή σας εκτελώντας το τυποποιημένο σύνολο δοκιμών
- Επικύρωση αναδίπλωσης ερωτήματος και δημιουργία κειμένου εντολής σε διαγνωστικά αρχεία
Ορίστε τις διαδρομές PQTest.exe και επέκτασης στο αρχείο RunPQSDKTestSuites Ρυθμίσεις.json
Μεταβείτε στο αρχείο \testframework\tests και ανοίξτε το αρχείο RunPQSDKTestSuites Ρυθμίσεις.json στον κλωνοποιημένο φάκελο αποθετηρίου δεδομένων. Στη συνέχεια, ορίστε τις διαδρομές για PQTest.exe και την επέκταση στο αρχείο ρύθμισης παραμέτρων:
- PQTestExePath: Αντικαταστήστε με τη διαδρομή στο PQTest.ext. Για παράδειγμα, C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, όπου< Username> είναι το όνομα του φακέλου προφίλ χρήστη σας, x.x.x είναι η τρέχουσα έκδοση της επέκτασης SDK Power Query και x.xxx.x είναι η τρέχουσα έκδοση των εργαλείων Power Query SDK.
- ExtensionPath: Αντικαταστήστε το με τη διαδρομή προς το αρχείο mez επέκτασης. Για παράδειγμα, C:\dev\<Σύνδεση orName>\<Σύνδεση orName.mez>, όπου< Σύνδεση orName> είναι το όνομα της σύνδεσής σας.
Σημείωμα
Μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με όλες τις μεταβλητές που μπορείτε να ορίσετε στο αρχείο RunPQSDKTestSuites Ρυθμίσεις.json στο παρεχόμενο πρότυπο \testframework\tests\RunPQSDKTestSuites Ρυθμίσεις Template.json.
Ενημερώστε το αρχείο ερωτημάτων και ρυθμίσεων παραμέτρων με τις λεπτομέρειες ειδικά για τη σύνδεση επέκτασης προέλευσης δεδομένων
Η εκτέλεση της δέσμης ενεργειών PowerShell .\RunPQSDKTestSuites.ps1 δημιουργεί τα ερωτήματα παραμέτρων και τις ρυθμίσεις δοκιμής δημιουργώντας έναν φάκελο με <όνομα> επέκτασης και τους φακέλους Ρυθμίσεις και ParameterQueries κάτω από αυτόν ως εξής:
- testframework\tests\Σύνδεση orConfigs\<Extension Name>\ParameterQueries
- testframework\tests\Σύνδεση orConfigs\<Extension Name>\Ρυθμίσεις
Τα παρακάτω παραδείγματα δείχνουν πώς θα εμφανίζονται οι διαδρομές για μια σύνδεση που ονομάζεται Contoso:
- testframework\tests\TestSuites\Contoso\ParameterQueries
- testframework\tests\TestSuites\Contoso\Ρυθμίσεις
Σημείωμα
Ενημερώστε το ερώτημα M στα αρχεία ερωτήματος παραμέτρων που δημιουργήθηκαν για να συνδεθείτε με την προέλευση δεδομένων σας και να ανακτήσετε τους πίνακες NycTaxiGreen & TaxiZoneLookup που έχουν αποσταλεί προηγουμένως.
Εναλλακτικά, για να δημιουργήσετε με μη αυτόματο τρόπο τα αρχεία ερωτημάτων παραμέτρων και τα αρχεία ρυθμίσεων για την προέλευση δεδομένων σας, εκτελέστε τα παρακάτω βήματα:
- Μεταβείτε στον φάκελο \testframework\tests\Σύνδεση orConfigs στον φάκελο κλωνοποιημένο αποθετήριο δεδομένων.
- Κάντε ένα αντίγραφο του φακέλου \generic και μετονομάστε το στο όνομα της επέκτασης.
- Ανοίξτε κάθε αρχείο στον φάκελο \ParameterQueries και ενημερώστε το ερώτημα M ως τις οδηγίες που παρέχονται σε αυτά τα αρχεία.
- Ανοίξτε κάθε αρχείο στον φάκελο \Ρυθμίσεις και ενημερώστε αυτά τα αρχεία ώστε να δείχνουν στο σωστό αρχείο ερωτήματος παραμέτρου.
Ορισμός των διαπιστευτηρίων για τη σύνδεση επέκτασης
Βεβαιωθείτε ότι τα διαπιστευτήρια έχουν ρυθμιστεί για τη σύνδεσή σας, ακολουθώντας τις οδηγίες για την εντολή set-credential .
Εναλλακτικά, χρησιμοποιήστε την εντολή διαπιστευτηρίων-προτύπου για να δημιουργήσετε ένα πρότυπο διαπιστευτηρίων σε μορφή JSON για τη σύνδεσή σας, το οποίο μπορεί να διαβιβαστεί στην εντολή set-credential . Ανατρέξτε στην ενότητα προτύπου διαπιστευτηρίων σχετικά με τη χρήση για να δημιουργήσετε ένα πρότυπο διαπιστευτηρίων.
# <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
Λάβετε την έξοδο από την προηγούμενη εντολή και αντικαταστήστε τις τιμές κράτησης θέσης με σωστά διαπιστευτήρια και αποθηκεύστε την ως αρχείο JSON (για παράδειγμα, contoso_cred.json).
Στη συνέχεια, χρησιμοποιήστε αυτήν την εντολή set-credential για να αποθηκεύσετε διαπιστευτήρια που χρησιμοποιούνται από την εντολή σύγκρισης για την εκτέλεση των δοκιμών. Χρησιμοποιώντας το υπάρχον παράθυρο του PowerShell, ορίστε τα διαπιστευτήρια για την επέκτασή σας χρησιμοποιώντας το αρχείο διαπιστευτηρίων JSON που δημιουργήθηκε στο προηγούμενο βήμα. Ανατρέξτε στην ενότητα ορισμός διαπιστευτηρίων σχετικά με τη χρήση για να ρυθμίσετε τα διαπιστευτήρια για τη σύνδεσή σας.
$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"
Επικυρώστε ότι τα δεδομένα δοκιμής έχουν ρυθμιστεί σωστά εκτελώντας τις δοκιμές λογικής
Για να εξασφαλίσετε ότι οι αλλαγές λειτουργούν και η ρύθμιση δεδομένων εκτελείται σωστά, εκτελέστε τις δοκιμές λογικής χρησιμοποιώντας το βοηθητικό πρόγραμμα RunPQSDKTestSuites.ps1 που υπάρχει στον κατάλογο \testframework\tests\TestSuites ως εξής:
.\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
----------------------------------------------------------------------------------------------
#>
Εκτέλεση των λογικών και τυπικών δοκιμών
Εκτελέστε το βοηθητικό πρόγραμμα RunPQSDKTestSuites.ps1
Για να εκτελέσετε όλες τις λογικές και τυπικές δοκιμές ή ένα σύνολο δοκιμών που ορίζονται από το αρχείο ρυθμίσεων, εκτελέστε την ακόλουθη εντολή για να εκτελέσετε τις δοκιμές:
# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1
Για να μάθετε περισσότερα σχετικά με το βοηθητικό πρόγραμμα RunPQSDKTestSuites.ps1, εκτελέστε την εντολή Get-Help ως εξής:
Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed
Εκτέλεση με χρήση PQTest.exe
Χρησιμοποιήστε την ακόλουθη εντολή στο ίδιο παράθυρο του PowerShell για να εκτελέσετε συγκεκριμένες δοκιμές απευθείας χρησιμοποιώντας PQTest.exe:
# <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-overview για περισσότερες πληροφορίες σχετικά με την εκτέλεση δοκιμών με PQTest.exe.
Εκτέλεση δοκιμών αναδίπλωσης ερωτήματος
Οι δοκιμές σε οποιαδήποτε λογική και τυπικές δοκιμές μπορούν να εκτελεστούν για την επικύρωση αναδίπλωσης ερωτήματος. Εκτελέστε τη δοκιμή την πρώτη φορά για να δημιουργήσετε ένα αρχείο εξόδου διαγνωστικού ελέγχου στον φάκελο \testframework\tests\<Extension Name>\Diagnostics\. Οι επόμενες εκτελέσεις επικυρώνουν την έξοδο που δημιουργείται με το αρχείο εξόδου διαγνωστικού ελέγχου.
Εκτελέστε δοκιμές αναδίπλωσης ερωτήματος χρησιμοποιώντας το βοηθητικό πρόγραμμα RunPQSDKTestSuites.ps1
Επικυρώστε την αναδίπλωση ερωτήματος για τις δοκιμές sanity & standard ως εξής:
.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
Σημείωμα
Εναλλακτικά, καθορίστε ValidateQueryFolding=True
στο αρχείο \testframework\tests\TestSuite\RunPQSDKTestSuites Ρυθμίσεις.json.
Εκτέλεση δοκιμών αναδίπλωσης ερωτήματος με χρήση PQTest.exe
# <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"
Συμπέρασμα
Αυτή η ενότητα εξέτασε τα βήματα για τη ρύθμιση των ερωτημάτων παραμέτρων και των αρχείων ρυθμίσεων, τα οποία στη συνέχεια απαιτούνται για την επικύρωση της σύνδεσης επέκτασης εκτελώντας την λογική και το τυποποιημένο σύνολο δοκιμών.
Στην επόμενη ενότητα, θα μάθετε πώς μπορείτε να προσθέσετε περισσότερες δοκιμές. Επίσης, θα μάθετε σχετικά με τις διάφορες εντολές και επιλογές που είναι διαθέσιμες στο πλαίσιο δοκιμών καθώς και διάφορες προσαρμόσιμες ρυθμίσεις για τις ανάγκες δοκιμής σας.