有没有人知道如何在app扩展目标上执行单元测试,特别是键盘扩展目标?
我尝试了什么(在单元测试目标中):
$(BUILT_PRODUCTS_DIR)/com.mycompany.keyboard.appex/com.mycompany.keyboard
$(BUNDLE_LOADER)
。完成这些工作后,我可以成功构建它,但总是使用日志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。
答案 0 :(得分:14)
我向Apple报告了这个错误。可悲的是,答案是键盘扩展现在不支持单元测试。答案来自Apple:
答案 1 :(得分:1)
试图对扩展进行单元测试时遇到了类似的问题。独立完成了作者尝试使用Bundle Loader指向.appx路径但当然没有成功完全相同的事情。 我真的不喜欢为测试创建一个单独的框架,所以我最终将可测试的源添加到扩展测试目标中。如果您的扩展程序中没有太多源文件,这非常简单:
为什么会这样:
将扩展源添加到扩展测试目标后,XCode将对每个扩展源进行双重引用,并在正常扩展构建和测试构建中进行编译,从而消除链接问题。
有任何缺点吗?
您必须手动同步扩展测试目标中的源文件列表。每当您在扩展目标中添加/删除文件时,您可能需要在其测试目标中执行相同的操作。
答案 2 :(得分:0)