我写了一些UIImage
课程的扩展名,并希望通过单元测试来覆盖它。我添加了一些图像来测试目标并检查它是否出现在Copy Bundle Resources
列表中。
在测试代码中,我使用了一个模型对象,它可以提供测试数据。
class TestConstants {
private static var bundle: Bundle {
return Bundle(for: UIImageExtensionsTests.self)
}
private static var birdImageURL: URL {
let path = self.bundle.url(forResource: "birds", withExtension: "png")
return path!
}
static var birdImageData: Data {
return try! Data(contentsOf: self.birdImageURL)
}
}
不幸的是birds.png
图片不在测试包中,而是另一个资源drm.txt
。
我有点困惑是Xcode中的错误吗?
顺便说一句,我下载了Xcode 9.4 beta并且存在相同的行为 - 图像不会复制到测试包中。
#UPDATE :
UIImageExtensionsTests
是使用drm.txt
和birds.png
文件在同一目标中显示的测试类
答案 0 :(得分:0)
要使用相应的Bundle:
let bundle = Bundle.init(for: TestConstants.classForCoder())
答案 1 :(得分:0)