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
UITestsターゲットにAssets.xcassetsを追加しましたが、これは常にnilです(UITestターゲット->ビルドフェーズ/バンドルリソースのコピーでダブルチェックします)。
ここで何が間違っている可能性がありますか?
UIImageは、メインバンドルを使用して画像を検索します。テストバンドルは別のバンドルです。UIImageを使用する必要があります
init(named:in:compatibleWith:)
ここで、テストバンドルを明示的に指定できます。
BundleのinitForClassを使用してテストターゲットのバンドルを取得し、現在のテストクラスを渡すことができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加