Enr*_*tyo 10 xcode xctest asset-catalog
在我的一个XCTests课程中,我需要从资产目录中加载图像以测试图像处理逻辑.但是,似乎在测试目标中使用了UIImage(named: "imageName")返回nil.
我在我的资产目录中检查了测试目标成员资格,我还应该做些什么来启用从我的XCTest类中读取图像?
@mylovemhz的答案是正确但不完整的.您需要引用该包:
斯威夫特3:
UIImage(named: "imageName", in: Bundle(for: MyTestClass.self), compatibleWith: nil)
Run Code Online (Sandbox Code Playgroud)
还要确保您的资产与测试类包含在同一目标中.
根据文档,您必须在运行时添加它们。
\n\n\n\n\n如果您的测试使用资产\xe2\x80\x94数据文件、图像等\xe2\x80\x94,则可以将它们添加到测试包中并在运行时使用 NSBundle\n API 进行访问。与您的测试类一起使用
\n+[NSBundle bundleForClass:]可确保您获得正确的包来检索资产。有关详细信息,请参阅NSBundle 类参考。
在 Swift 中,它会是这样的:
\n\nlet appBundle = Bundle(for: type(of: MyClass) as! AnyClass)\nRun Code Online (Sandbox Code Playgroud)\n