ios - 如何在 Xcode 6 上对应用程序扩展进行单元测试

标签 ios xcode unit-testing ios-app-extension

有谁知道如何对应用程序扩展目标,尤其是键盘扩展目标执行单元测试?

我尝试了什么(在单元测试目标中):

  • 在“常规”点击中,将其目标设置为扩展目标而不是容器应用。
  • 将“Bundle Loader”设置为扩展目标二进制文件的路径,类似于$(BUILT_PRODUCTS_DIR)/com.mycompany.keyboard.appex/com.mycompany.keyboard
  • 将“测试主机”设置为 $(BUNDLE_LOADER) .
  • 在“Build Phases”点击中,将“Target Dependencies”设置为容器应用和扩展。

完成这些事情后,我可以成功构建它,但总是得到“测试失败”并显示日志 Test target SogouInputTests encountered an error (Test session exited(1). without checking in. If you believe this error represents a bug, please attach the log file at /tmp/TestStatus-UXfvxw.log) .

我正在使用 Xcode 6 beta 3。

最佳答案

我已将错误报告给 Apple。可悲的是,答案是键盘扩展现在不支持单元测试。答案来自苹果:

  • 目前不支持在应用扩展中运行单元测试
  • 相反,将要测试的代码分解成一个框架并在那里测试代码
  • 将框架链接到您的扩展

关于ios - 如何在 Xcode 6 上对应用程序扩展进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24627600/

相关文章:

ios - UIButton 添加到 subview 后作为 UIView 返回?

ios - 一个 UITableView 嵌入了一个 UIScrollView,滑动删除是行不通的

ios - random() 会改变吗?

xcode - 如何接受 Xcode 许可?

ios - 如何更改 Xcode 界面生成器中的默认色调颜色?

ios - NSRegularExpression 如何给我一个 NSRange 越界?

ios - 更改 Xcode 8 中的签名团队

unit-testing - 是否可以模拟 GPU 以进行 CUDA/OpenCL 单元测试?

c# - Moq.MockRepository.Of() 方法返回 void 时的用法

javascript - javascript下载功能的单元测试