UIImage returns UITests 中为零
UIImage returns nil in UITests
在我的 UITests 中,我想将元素的图像与来自 .xcassets 的图像进行比较:
let referenceImage = UIImage(named: "referenceImage")
guard referenceImage != nil else {
print("didn't find referenceImage image in assets")
XCTAssert(false)
return
}
let cellImage = myCell.images.elementBoundByIndex(0)
let imagesEqual = (referenceImage!.isEqual(cellImage))
XCTAssert(imagesEqual)
referenceImage
始终为零,尽管我已将 Assets.xcassets 添加到我的 UITests 目标(在 UITest 目标->构建 phases/Copy 捆绑资源中进行了双重检查)。
这里有什么问题吗?
UIImage 使用主包来查找图像。
测试包是一个不同的包。
你应该使用 UIImage 的
init(named:in:compatibleWith:)
您可以在其中明确指定您的测试包。
您可以使用 Bundle 的 initForClass 获取测试目标的包,并传递您当前的测试 class.
在我的 UITests 中,我想将元素的图像与来自 .xcassets 的图像进行比较:
let referenceImage = UIImage(named: "referenceImage")
guard referenceImage != nil else {
print("didn't find referenceImage image in assets")
XCTAssert(false)
return
}
let cellImage = myCell.images.elementBoundByIndex(0)
let imagesEqual = (referenceImage!.isEqual(cellImage))
XCTAssert(imagesEqual)
referenceImage
始终为零,尽管我已将 Assets.xcassets 添加到我的 UITests 目标(在 UITest 目标->构建 phases/Copy 捆绑资源中进行了双重检查)。
这里有什么问题吗?
UIImage 使用主包来查找图像。 测试包是一个不同的包。 你应该使用 UIImage 的
init(named:in:compatibleWith:)
您可以在其中明确指定您的测试包。
您可以使用 Bundle 的 initForClass 获取测试目标的包,并传递您当前的测试 class.