จากงาน WWDC19 มี session เรื่อง Testing in XCode
มี feature ใหม่ที่น่าสนใจคือ Test Plan 
ซึ่งทำการ extend มาจาก XCTest นั่นเอง
มีเป้าหมายเพื่อ การจัดการและควบคุมการทดสอบให้สะดวกยิ่งขึ้น
มาลองใช้งานกันดู

ยกตัวอย่างการใช้งาน เช่นการแบ่งกลุ่มชุดการทดสอบ
ก่อนหน้านี้ต้องแบ่งกลุ่มการทดสอบเช่น Unit test และ UI test ด้วย scheme
ทำให้จำนวน scheme เยอะมาก ๆ ตามแต่กลุ่มการทดสอบที่มี
แน่นอนว่า ไม่ค่อยสะดวกเท่าไรนัก

ใน XCode 11 นั้นจึงสร้าง Test Plan ขึ้นมา

สำหรับทำการจัดการในเรื่องดังกล่าวซึ่งมีความสามารถต่าง ๆ ดังนี้

  • การทดสอบอยู่ในส่วนหนึ่งของการ build
  • สามารถทดสอบแบบ random ได้
  • จัดการผลการทดสอบได้ เช่นพวก report และ scheenshot
  • ทำการจัดกลุ่มการทดสอบตาม resource ที่มีได้
  • ทำการ run ชุดการทดสอบตาม location ได้อีกด้วย

และอีกความสามารถหนึ่งคือ
การ migrate จาก scheme มายัง Test Plan (Convert to use Test Plans)
ประกอบไปด้วย

  • Create test plan from scheme
  • Create empty Test Plan
  • Choose Test Plan

เมื่อทำการ migrate หรือสร้าง Test Plan ขึ้นมา
จะต้องทำการบันทึก Test Plan ด้วยนามสกุล .xctestplan

จากนั้นสามารถทำการสร้าง configuration ในแต่ละ Test Plan ได้เลย

ซึ่งมีทั้งแบบ share กันทั้งหมด กับ custom configuration ยกตัวอย่างเช่น

  • ส่ง Argument ต่าง ๆ มายัง Test Plan ได้
  • กำหนด Location ต่าง ๆ
  • กำหนดรูปแบบการทดสอบเป็นแบบ random 
  • เปิดการใช้งาน Code Coverage
  • สำหรับ UI test สามารถกำหนดการบันทึก screenshot ได้

ในส่วนนี้มีความยืดหยุ่นมาก ๆ

ถึงตรงนี้น่าจะทำให้การทดสอบใน XCode ง่ายและสะดวกขึ้นแล้ว
วันนี้คุณเขียนชุดการทดสอบแล้วหรือยัง ?
ถ้ายัง… เริ่มได้เลย