Quantcast
Viewing all articles
Browse latest Browse all 2067

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

Image may be NSFW.
Clik here to view.
trainer-00

Image may be NSFW.
Clik here to view.
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 แสดงการทำงานดังรูป Image may be NSFW.
Clik here to view.
trainer-01

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

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

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

ซึ่งทำการ configuration ไว้ใน Jenkins ดังนี้ Image may be NSFW.
Clik here to view.
trainer-03
ส่วนผลการแสดงผลรายงานใน Jenkins เป็นดังนี้ Image may be NSFW.
Clik here to view.
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 2067

Trending Articles