Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

[iOS]แนะนำ trainer เครื่องมือสำหรับการสร้างผลการทดสอบในรูปแบบ JUnit

$
0
0

trainer-00

trainer-00 ในการทดสอบ iOS app ผ่านระบบ Continuous Integration นั้น จำเป็นต้องทำการทดสอบทั้ง Unit test และ UI test และสร้างผลการทดสอบในรูปแบบ JUnit เพื่อสรุปผลการทดสอบต่าง ๆ ให้ง่ายและชัดเจน ปกติจะใช้ xcpretty ร่วมกับ xcodebuild แต่ว่าจะลำบากขึ้นเมื่อใช้งานร่วมกับ XCode 8 ดังนั้นทางผู้พัฒนา fastlane ก็ได้สร้างเครื่องมือใหม่ชื่อว่า trainer ขึ้นมา ซึ่งใช้ง่ายกว่า และ ทำการได้รวดเร็วกว่า ดังนั้นลองมาใช้งานกันดูหน่อย

เริ่มด้วยการติดตั้ง

สามารถติดตั้งได้ 2 แบบคือ
  1. ติดตั้งผ่าน RubyGems
  2. ติดตั้งผ่านระบบ plugin ของ fastlane
โดยสิ่งที่ผมใช้งานคือ ติดตั้งผ่าน RubyGems ด้วยคำสั่ง [code] $gem install trainer [/code]

จากนั้นเข้าไปยัง folder ของ Xcode project ของเรา

ทำการ compile และ ทดสอบด้วย scan ของ fastlane ด้วยคำสั่ง [code] $scan --derived_data_path "output_dir" [/code] จะทำการ compile code และ ทดสอบทั้ง Unit test และ UI test ผลการทดสอบถูกสร้างอยู่ใน folder ชื่อว่า output_dir แสดงการทำงานดังรูป trainer-01

จากนั้นทำการแปลงผลการทดสอบไปอยู่ในรูปแบบ JUnit ด้วย trainer

ด้วยคำสั่ง [code] $trainer [/code] จะทำการอ่านข้อมูลใน folder output_dir มาแปลงให้อยู่ในรูปแบบ JUnit แสดงการทำงานดังรูป trainer-02

จากนั้นสามารถนำ JUnit report เหล่านี้ไปแสดงผลบนระบบ Continuous Integration ได้แล้ว

ซึ่งทำการ configuration ไว้ใน Jenkins ดังนี้ trainer-03 ส่วนผลการแสดงผลรายงานใน Jenkins เป็นดังนี้ trainer-04 เพียงเท่านี้ก็สามารถนำ trainer มาช่วยแปลงข้อมูลการทดสอบ ให้อยู่ในรูปแบบ JUnit เรียบร้อยครับ มันง่ายมาก ๆ Reference Websites https://krausefx.com/blog/trainer-the-simplest-way-to-generate-a-junit-report-of-your-ios-tests https://pspdfkit.com/blog/2016/converting-xcode-test-results-the-fast-way/

Viewing all articles
Browse latest Browse all 1997

Trending Articles