แชร์ผ่าน


ส่วนเฟรมเวิร์กการทดสอบ Power Query SDK 5 - การทดสอบตัวเชื่อมต่อส่วนขยายของคุณ

การอ้างอิงหลายส่วนนี้ครอบคลุมถึงการตั้งค่าและการเรียกใช้งานชุดการทดสอบมาตรฐานสําหรับนักพัฒนาตัวเชื่อมต่อ Power Query การอ้างอิงนี้มีไว้เพื่อทําตามลําดับเพื่อให้แน่ใจว่า สภาพแวดล้อมของคุณได้รับการตั้งค่าสําหรับการทดสอบตัวเชื่อมต่อแบบกําหนดเองของคุณ

ถึงตอนนี้ คุณทําตามขั้นตอนต่อไปนี้เสร็จแล้ว:

  • ตั้งค่าสภาพแวดล้อม
  • อัปโหลดข้อมูลทดสอบแล้ว
  • ดาวน์โหลดชุดการทดสอบแล้ว
  • เรียนรู้รูปแบบไฟล์ต่าง ๆ และฟังก์ชันการทํางานของพวกเขา

ในที่สุดคุณก็พร้อมที่จะเริ่มตรวจสอบตัวเชื่อมต่อส่วนขยายของคุณด้วยชุดการทดสอบ

ในส่วนนี้ คุณ:

  • เรียนรู้วิธีการอัปเดตคิวรีพารามิเตอร์และไฟล์การตั้งค่า
  • ตั้งค่าเส้นทางสําหรับเฟรมเวิร์กการทดสอบ ส่วนขยายตัวเชื่อมต่อ และการตั้งค่าการทดสอบไดเรกทอรี
  • ตั้งค่าข้อมูลประจําตัวสําหรับส่วนขยาย
  • ตรวจสอบความถูกต้องของข้อมูลทดสอบโดยการรันการทดสอบสติ
  • ตรวจสอบตัวเชื่อมต่อของคุณโดยการเรียกใช้ชุดการทดสอบที่ได้มาตรฐาน
  • ตรวจสอบการพับคิวรีและสร้างข้อความคําสั่งในไฟล์การวินิจฉัย

ตั้งค่า PQTest.exe และเส้นทางส่วนขยายในไฟล์ RunPQSDKTestSuites การตั้งค่า.json

นําทางไปยัง \testframework\tests และเปิดไฟล์ RunPQSDKTestSuites การตั้งค่า.json ในโฟลเดอร์ repo ที่ถูกลอกแบบ จากนั้นตั้งค่าเส้นทางสําหรับ PQTest.exe และส่วนขยายในไฟล์กําหนดค่า:

  • PQTestExePath: แทนที่ ด้วยเส้นทางไปยัง PQTest.ext ตัวอย่างเช่น C:\Users\<UserName>\vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkToolsx.xxx.x\tools\PQTest.exe โดยที่ <Username> คือชื่อของโฟลเดอร์โปรไฟล์ผู้ใช้ของคุณ x.x.x.x เป็นส่วนขยาย Power Query SDK เวอร์ชันปัจจุบัน และ 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 ที่อัปโหลดก่อนหน้านี้

อีกวิธีหนึ่งคือหากต้องการสร้างไฟล์คิวรีพารามิเตอร์และไฟล์การตั้งค่าสําหรับแหล่งข้อมูลของคุณด้วยตนเอง ให้ทําตามขั้นตอนด้านล่าง:

  1. นําทางไปยังโฟลเดอร์ \testframework\tests\เชื่อมต่อ orConfigs ภายใต้โฟลเดอร์ repo ที่ถูกลอกแบบ
  2. ทําสําเนาของโฟลเดอร์ \generic และเปลี่ยนชื่อเป็นชื่อนามสกุล
  3. เปิดแต่ละไฟล์ในโฟลเดอร์ \ParameterQueries และอัปเดตคิวรี M ตามคําแนะนําที่ระบุไว้ในไฟล์เหล่านั้น
  4. เปิดแต่ละไฟล์ในโฟลเดอร์ \การตั้งค่า และอัปเดตไฟล์เหล่านั้นเพื่อชี้ไปยังไฟล์คิวรีของพารามิเตอร์ที่ถูกต้อง

ตั้งค่าข้อมูลประจําตัวสําหรับตัวเชื่อมต่อส่วนขยายของคุณ

ตรวจสอบให้แน่ใจว่ามีการตั้งค่าข้อมูลประจําตัวสําหรับตัวเชื่อมต่อของคุณโดยทําตามคําแนะนําสําหรับคําสั่งตั้งค่าข้อมูลประจําตัว

อีกวิธีหนึ่งคือ ใช้ คําสั่งแม่แบบ ข้อมูลประจําตัวเพื่อสร้างแม่แบบข้อมูลประจําตัวในรูปแบบ JSON สําหรับตัวเชื่อมต่อของคุณที่สามารถส่งผ่านไปยัง คําสั่งข้อมูลประจําตัว การตั้งค่า ดูส่วน เทมเพลต ข้อมูลประจําตัวเกี่ยวกับการใช้งานเพื่อสร้างเทมเพลตข้อมูลประจําตัว

# <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 .\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 สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบการรันด้วย PQTest.exe

การเรียกใช้การทดสอบการพับคิวรี

สามารถเรียกใช้การทดสอบภายใต้สติและการทดสอบมาตรฐานใด ๆ เพื่อตรวจสอบการพับคิวรี เรียกใช้การทดสอบในครั้งแรกเพื่อสร้างไฟล์เอาต์พุตการวินิจฉัยภายใต้โฟลเดอร์ \testframework\tests\<Extension Name>\Diagnostics\ เรียกใช้ในภายหลังตรวจสอบเอาต์พุตที่สร้างขึ้นด้วยไฟล์เอาต์พุตการวินิจฉัย

เรียกใช้การทดสอบการพับคิวรีโดยใช้ยูทิลิตี้ RunPQSDKTestSuites.ps1

ตรวจสอบความถูกต้องของการพับคิวรีสําหรับการทดสอบสติและมาตรฐานดังนี้:

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

บทสรุป

ส่วนนี้ครอบคลุมขั้นตอนในการตั้งค่าคิวรีพารามิเตอร์และไฟล์การตั้งค่าซึ่งจากนั้นจะต้องตรวจสอบตัวเชื่อมต่อส่วนขยายของคุณโดยการเรียกใช้การทดสอบสติและชุดมาตรฐาน

ในส่วนถัดไป คุณจะได้เรียนรู้วิธีการเพิ่มการทดสอบเพิ่มเติม คุณยังได้เรียนรู้เกี่ยวกับคําสั่งและตัวเลือกต่าง ๆ ที่พร้อมใช้งานภายในเฟรมเวิร์กการทดสอบ และการตั้งค่าที่สามารถกําหนดเองได้ต่าง ๆ สําหรับความต้องการทดสอบของคุณ

ขั้นตอนถัดไป

ส่วนเฟรมเวิร์กการทดสอบ Power Query SDK ที่ 6 - การเพิ่มการทดสอบของคุณและทําความเข้าใจตัวเลือกต่าง ๆ