ios - 无法在测试框架中使用 XCTUnwrap
问题描述
我正在尝试创建一个包含一些扩展的测试框架。我可以import XCTest
按照这里的建议进入框架:https ://stackoverflow.com/a/35102636/3475906
但是,每当我尝试使用 XCTUnwrap 时,都会出现错误:Use of unresolved identifier 'XCTUnwrap'
基本上,我想要这样的东西:
import XCTest
extension Optional {
func unwrap() -> Wrapped {
do {
return try XCTUnwrap(self)
} catch {
print("Handle error")
}
}
}
有人知道吗?
解决方案
该XCTUnwrap
API 仅在主要测试包目标中可用,在其他库或框架中不可用。有两种方法可以解决此问题:
- 将您的
Optional
扩展移动到主包,这显然不是您想做的事情:) - 在您的测试框架目标中修改以下构建设置:
SYSTEM_FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/usr/lib",
);
SWIFT_INCLUDE_PATHS = "$(inherited) $(PLATFORM_DIR)/Developer/usr/lib"
推荐阅读
- angular - 使用 ngTemplate 使用 Angular 显示元素 html
- node.js - 在猫鼬中递归查找
- applescript - 在 AppleScript 中过滤记录
- javascript - Photoshop CC Javascript - 删除/剪切选区
- javascript - 在 onbeforeunload 事件期间执行调用
- php - 无法将 PHP7 安装到 AWS EC2 实例?
- python - 如何将参数传递给夹具并在测试方法中使用此夹具?
- ruby-on-rails-4 - 升级到 Rails 5.2 后 nil:NilClass 的未定义方法“expr”
- mysql - 使用 percona xtrabackup 将 Mysql 数据库迁移到 AroraDB
- python - Python-camelot(安装时出现错误:GhostscriptNotFound)