【发布时间】:2018-09-22 11:20:15
【问题描述】:
我为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 文件存在于同一目标中的测试类
【问题讨论】:
-
什么是
UIImageExtensionsTests? -
添加了有关
UIImageExtensionsTests的详细信息。它的测试类出现在测试目标中 -
对我来说一切都很好。事实上,我自己试了一下,我的测试运行得很好。也许清理并构建测试目标,然后运行测试,如果仍然存在一些错误,则将确切的错误消息添加到您的问题中。
-
@staticVoidMan 您是否在测试目标中添加了图像资源?因为使用txt文件没有问题。但仅限
png文件 -
是的,我确实添加了。该图像应该添加到您的测试目标中,在您的情况下,它似乎确实被添加了。对吗?
标签: swift xcode unit-testing