Я хотел бы запустить модульные тесты с динамическими цветами, которые загружаются из файла .xcassets. Эти цвета имеют светлые и темные проявления. Для моего теста мне нужно прочитать значения RGB как светлых, так и темных значений. Я всегда вижу только облегченную версию. Это имеет смысл, потому что отладчик всегда показывает мне эту коллекцию traitCollection: ‹UITraitCollection: 0x6000034b8820; UserInterfaceIdiom = Phone, DisplayScale = 3, DisplayGamut = P3, HorizontalSizeClass = Compact, VerticalSizeClass = Regular, UserInterfaceStyle = Light, UserInterfaceLayoutDirection = LTR, ForceTouchCapability = Unreachable, PreferredContentSizeCategory = L, AccessibilityContrast = Normal, UserInterfaceLevel = Base›
Как я могу изменить его для этого теста? Как установить для UserInterfaceStyle значение Dark? (Это обычный XCTest, а не XCUITest.)
Это настоящий тест:
func compare(_ color1: UIColor, _ name: String) {
let color2 = UIColor(named: name)!
XCTAssert(color1.cgColor == color2.cgColor)
}
Аналогичный вопрос 5 лет назад предлагал только XCUITest как единственную альтернативу: Как тестировать язык с написанием справа налево в модульных тестах XCTest для iOS? Но это было до того, как появились traitCollections, верно?