[英]How to test UIFontMetrics UIFont.TextStyle in XCTest
如何在XCTest
單元測試中通過UIFont.TextStyle
為具有動態字體大小的UIFont
測試給定的UIFontMetrics
?
var myDynamicFont: UIFont {
let font = UIFont(name: "Font-Name", size: 42)
return UIFontMetrics(forTextStyle: .largeTitle).scaledFont(for: font)
}
XCTest 單元測試:
func testMyDynamicFont() {
...
XCTAssertEqual(myDynamicFont.???, .largeTitle) // <-- How to check the given TextStyle?
}
謝謝!
您可以使用SnapshotTesting :
func test_myDynamicFont_matchesSnapshot() {
assertSnapshot(matching: myDynamicFont, as: .dump)
}
帶有.dump 策略的快照將產生類似的結果:
- <UICTFont> font-family: ".SFUI-Regular"; font-weight: normal; font-style: normal; font-size: 42.00pt
或者您可以使用您的視圖來生成.image 快照並匹配它:
func test_label_matchesSnapshot() {
let label = UILabel()
label.text = "some text"
label.sizeToFit()
label.font = myDynamicFont
assertSnapshot(matching: label, as: .image, record: true)
}
這將產生圖像快照:
並且每次運行測試時都會匹配它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.