UIImage在UITests中返回nil

时间:2016-12-15 13:36:23

标签: ios xcode-ui-testing

在我的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目标中重复检查 - >构建阶段/复制捆绑资源)。

这里有什么不妥?

1 个答案:

答案 0 :(得分:3)

UIImage使用主包来查找图像。 测试包是一个不同的包。 你应该使用UIImage的

init(named:in:compatibleWith:)

您可以在其中明确指定测试包。

您可以使用Bundle' initForClass获取测试目标的包,并传入当前的测试类。