我正在比较两个UIColor使用新的 iOS 13 初始化的init(dynamicProvider:)
https://developer.apple.com/documentation/uikit/uicolor/3238041-init
但这就是我在单元测试中将它们与以下内容进行比较时得到的运行时XCTAssertEqual:
XCTAssertEqual failed: ("Optional(<UIDynamicProviderColor: {...};
provider = <__NSMallocBlock__: {...}>>)") is not equal to
("Optional(<UIDynamicProviderColor: {...}; provider = <__NSMallocBlock__: {...}>>)")
Run Code Online (Sandbox Code Playgroud)
这是我如何创建颜色的示例:
struct Style {
static var color: UIColor {
if #available(iOS 13.0, *) {
return UIColor { traitCollection in
return traitCollection.userInterfaceStyle == .dark ? .secondarySystemBackground : UIColor.white
}
} else {
return UIColor.white
}
}
}
Run Code Online (Sandbox Code Playgroud)
测试代码:
func testExample() {
XCTAssertEqual(Style.color, Style.color)
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用扩展名覆盖isEqual方法,UIColor但显然它没有被调用。
你有什么解决方法吗?