我正在使用
swift-snapshot-testing
库进行快照测试。对我来说,使用不同的本地化进行所有测试以在文本更改时检查所有 UI 非常重要。
例如,UI 测试方案设置为在德语和区域上运行,在某些测试中,我也想查看英语版本,我就这样做了
class BackgroundViewFactoryTests: XCTestCase {
override class func setUp() {
SnapshotTesting.diffTool = "ksdiff"
}
func test_backgroundView_contact_eng() {
continueAfterFailure = false
XCUIApplication().launchArguments += ["-AppleLanguages", "(en)"]
XCUIApplication().launchArguments += ["-AppleLocale", "en_UK"]
XCUIApplication().launch()
let view = BackgroundViewFactory()
view.backgroundColor = .darkGray
assertSnapshot(matching: view, as: .image, record: false)
}
}
但它仍然无法工作并且无法以德语运行,有人可以给我打吗? 谢谢
快照测试应该对所有字符串都是不可知的。如果您更改一种翻译,您不希望破坏测试。 在单独的单元测试中测试翻译。