แชร์ผ่าน


ส่วนเฟรมเวิร์กการทดสอบ Power Query SDK 4 - ข้อกําหนดรูปแบบการทดสอบ

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

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

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

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

ข้อมูลจําเพาะสําหรับการทดสอบในรูปแบบ PQ/PQOut

การทดสอบสําหรับการตรวจสอบตัวเชื่อมต่อส่วนขยายกับเฟรมเวิร์กการทดสอบ Power Query SDK จะถูกเขียนในรูปแบบ PQ/PQOut

รายการต่อไปนี้อธิบายถึงชนิดของไฟล์ที่คุณจําเป็นต้องระวังขณะทํางานกับเฟรมเวิร์กการทดสอบ Power Query SDK:

  • ไฟล์คิวรี Test หรือที่เรียกว่าไฟล์ PQ ที่มีนามสกุล .query.pq
  • ไฟล์เอาต์พุตหรือที่เรียกว่าไฟล์ PQOut ที่มีนามสกุล .query.pqout
  • ไฟล์คิวรีพารามิเตอร์ที่เลือกได้ที่มีนามสกุล .parameterquery.pq
  • ไฟล์การตั้งค่าที่เลือกได้ที่มีนามสกุล .settings
  • ไฟล์การวินิจฉัยทางเลือกที่มีนามสกุล .diagnostics

ไฟล์คิวรี Test หรือที่เรียกว่าไฟล์ PQ ที่มีนามสกุล .query.pq

ไฟล์คิวรีทดสอบ (.query.pq) ประกอบด้วยคิวรีภาษาสูตร Power Query M เดียว คิวรี Mashup ประกอบด้วยตัวแปร นิพจน์ และค่าที่ห่อหุ้มด้วย let นิพจน์ที่มีชื่อฟังก์ชันแหล่งข้อมูลของตัวเชื่อมต่อแบบกําหนดเองและเมตาดาต้าที่จําเป็นในการดําเนินการ

let
   Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
   Database = Source{[Name="NYCTAXIDB”, Kind="Database"]}[Data],
   Schema = Database{[Name="PUBLIC”, Kind="Schema"]}[Data],
   Table = Schema{[Name="NYCTAXIDATA”, Kind="Table"]}[Data],
   SelectColumns = Table.SelectColumns(Table, {"lpep_pickup_datetime"}),
   FirstN = Table.FirstN(SelectColumns, 1)
in
   FirstN

ไฟล์ผลลัพธ์ หรือที่เรียกว่าไฟล์ PQOut ที่มีนามสกุล .query.pqout

ไฟล์เอาต์พุต (.query.pqout) ประกอบด้วยเอาต์พุตที่สร้างขึ้นอันเป็นผลมาจากการ เรียกใช้คําสั่งเปรียบเทียบ สําหรับการทดสอบ

ตัวอย่างต่อไปนี้แสดงตัวอย่างของไฟล์ผลลัพธ์ (PQOut) ตัวอย่างเช่น SnowflakeFirstNTests.query.pqout:

#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})

ไฟล์คิวรีพารามิเตอร์ที่เลือกได้ที่มีนามสกุล .parameterquery.pq

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

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

ตัวอย่างต่อไปนี้แสดงตัวอย่างของไฟล์คิวรีพารามิเตอร์ ตัวอย่างเช่น Taxi.parameterquery.pq:

let
   Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
   Database = Source{[Name="NYCTAXIDB", Kind="Database"]}[Data],
   Schema = Database{[Name="PUBLIC", Kind="Schema"]}[Data],
   Table = Schema{[Name="NYCTAXIDATA", Kind="Table"]}[Data],
in
   Table

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

ตัวอย่างต่อไปนี้แสดงตัวอย่างสําหรับคิวรีทดสอบ ตัวอย่างเช่น SnowflakeFirstNTest.query.pq:

(parameter) => 
let
   SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
   FirstN = Table.FirstN(SelectColumns, 1)
in
   FirstN

ไฟล์การตั้งค่าที่เลือกได้ที่มีนามสกุล .settings

ไฟล์การตั้งค่าที่เลือกได้เป็นไฟล์ JSON ซึ่งมีพารามิเตอร์การกําหนดค่าเป็นคู่ค่าหลัก

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

{
    'Extension': 'snowflake.mez',
    'ParameterQueryFilePath': 'contoso.parameterquery.pq'
    'QueryFilePath': 'contoso.query.pq',
    'FailOnMissingOutputFile': true
}

ไฟล์การวินิจฉัยทางเลือกที่มีนามสกุล .diagnostics

ไฟล์การวินิจฉัยทางเลือกที่ประกอบด้วยรายการข้อความคําสั่งที่สร้างขึ้นเมื่อคิวรี M ถูกพับ ใช้สําหรับการทดสอบการถดถอยของการพับคิวรี

ตัวอย่างต่อไปนี้แสดงตัวอย่างสําหรับไฟล์การวินิจฉัย ตัวอย่างเช่น SnowflakeFirstNTest การตั้งค่า.diagnostics:

[
  {
    "Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
  }
]

บทสรุป

ส่วนนี้แนะนําคุณเกี่ยวกับรูปแบบไฟล์ต่าง ๆ ที่คุณจําเป็นต้องคุ้นเคยขณะทํางานกับเฟรมเวิร์กการทดสอบ Power Query SDK

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

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

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