[objective-c]使用 UIImage imageNamed XCTestCase 里面

发布时间: 2016/10/4 1:27:50
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

无法获取可可触摸静态库依赖于使用的代码的 XCTestCase 单元测试 imageNamed 上班。

我将我的形象"plane.png"添加到测试目标,但 [UIImage imageNamed] 保持返回零。
当我明确地在测试中指定图像的路径和从文件中加载图像时它正常工作。

NSString* imagePath = [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"plane.png"];
UIImage* imageWorks = [UIImage imageWithContentsOfFile:imagePath];

UIImage* imageStaysNil = [UIImage imageNamed:@"plane.png"];

如何可以编写单元测试的代码,使用 imageNamed

解决方法 1:

在 XCTest 你不是在 mainBundle。从你的 XCTest 包让你的形象。

[UIImage imageNamed:@"..." inBundle:[NSBundle bundleForClass:[self class]] compatibleWithTraitCollection:nil];

(这种解决方案对于 iOS8 +)

官方微信
官方QQ群
31647020