iOS快照测试用例
“ iOSSnapshotTestCase” FBSSnapshotTestCase教程库Facebook脚本库uber
ตัว快照测试用例มันเอาไว้
快照快照方法renderInContext:
UIView
对象CALayer
对象存储库(参考图像)源代码存储库中的源代码文档显示失败。
ราะ
codeอเราเขียน代码ที่เกี่ยวข้องกับUIเยอะมากๆายกรณีทดสอบ(测试用例)ที่เราต้องทำเมื่อสร้าง UIView
แล้ว…
- textราจะรู้ได้อย่างไรว่าตัวอักษร(文本)ที่ใส่เข้าไปเพียงพอในพื้นที่ที่เตรที่ที่เตยมไว้ิ่งโด
- ดีกับราจะรู้ได้อย่างไรว่ารูปที่เตรียมไว้พอดีกับ图像视图ที่มีให้
- Viewราจะรู้ได้อย่างไรว่าสีหรือภาพของ
UIView
เป็นอย่างไรถ้า状态เปลี่ยนเช่น被选中,突出显示
codeาเราต้องเขียน代码iOSiOS快照测试案例ี่แหละจะมนี่แหละจะมนอน iOSSnapshotTestCase
อาสามาถทำได้
Coารติดตั้งผ่านCocoaPods
- ให้เพิ่ม代码ในกล่องข้างล่างในPodfile
target "ชื่อ target (unit) test" do
use_frameworks!
pod 'iOSSnapshotTestCase'
end
Objectiveาใช้ภาษา Objective-C
ให้ใช้ iOSSnapshotTestCase/Core
แทนซึ่งจะตัดในส่วนการรองรับภาษา Swift
ออกไป
อย่าลืมเปลี่ยนชื่อ目标测试นะครับ
2.บอกที่เก็บของไฟล์รูปซึ่งสามารถทำได้3แต่แนะนำให้เพิ่มเข้าไปที่schemaทั้งนี้สามารถกำหนดได้กำหนด2ปลายคือต้นฉบับ FB_REFERENCE_IMAGE_DIR
ที่เก็บถ้ามีค่าไม่ตรไม่ตามฉบับ IMAGE_DIFF_DIR
สร้างกรณีทดสอบแรก
- งไฟล์ร้างไฟล์单元测试ที่อยู่ภายใต้目标ของ单元测试โดยให้子类ตัว
FBSnapshotTestCase
แทนตัวXCTestCase
- กใช้
FBSnapshotVerifyView
ยกใช้方法FBSnapshotVerifyView
ในการทดสอบ - recordา
recordMode = true
methodน方法设置Upซึ่งการตั้งเป็นtrue
จะสร้างรูปต้นฉบับให้(อย่าลืมcommitรูปเข้า仓库ด้วยนะครับ)
runอrun testใน recordMode
จะมีข้จะมีข้อความ错误ว่า failed — Test ran in record mode..
นะครับอย่าตกใจ
4.ลบ recodeMode = true
ออrunแล้วทำการ运行测试
iOSาใครต้องการให้สามารมารทดสอบได้หลายภาษาหลายขนาดเครื่องหลายiOSเวอร์ชั่นจะมีโปรเจคขอเจคขKickstarter ickนตัวอย่างนะครับสามารถไปดูได้ที่https://github.com/kickstarter/ios-oss
สวัสดีครับ
อ้างอิง:https://github.com/uber/ios-snapshot-test-case/