Xcode 5.1 打破了一些测试

Posted

技术标签:

【中文标题】Xcode 5.1 打破了一些测试【英文标题】:Xcode 5.1 breaks some tests 【发布时间】:2014-03-11 17:59:13 【问题描述】:

自从更新到 Xcode 5.1 后,我在尝试运行单元测试 (XCTestSuite) 时遇到了错误。当我运行单个测试方法时,我在控制台上收到错误 Error while reading test scope bundle 并且没有结果。当我运行测试文件的完整实现时,我看到:

Unable to get entitlements for client task. Error: Error Domain=NSPOSIXErrorDomain Code=-1 "The operation couldn’t be completed. (POSIX error -1 - Unknown error: -1)"

然后测试似乎开始按预期运行。

【问题讨论】:

我也看到了。 Xcode 5.1 我在 Xcode CI 中也看到了完整单元测试的子集。超级烦人。 我也看到了“权利”问题,但仅限于在设备上运行测试时。它发生在完整和单独的测试运行中。测试在模拟器上运行良好。请注意,我只在调用 FXKeyChain 的 KeyChain 包装器的测试中看到此问题。 找到了一个类似的问题,并为我解决了这个问题 (***.com/a/22561810/1685851) 【参考方案1】:

如果您有一个名为 MyApp Tests 之类的测试目标(注意空格),请尝试将该目标上的产品名称更改为 MyApp_Tests。产品名称将是 MyApp_Tests.xctest 而不是 MyApp Tests.xctest。

似乎这是一个路径问题。

【讨论】:

这确实解决了测试范围捆绑问题。但是,当我运行测试时,我仍然看到第二个权利问题。 我认为这一定是无关的,因为我们没有遇到那个问题。【参考方案2】:

我无法通过使用 hjaltij 的方法运行单个测试,但添加一个新的测试目标对我有用

TestNavigator > 添加新的测试目标(加号按钮)

然后在这个目标下新建测试类

【讨论】:

以上是关于Xcode 5.1 打破了一些测试的主要内容,如果未能解决你的问题,请参考以下文章

XCode 5.1 Beta 4 无法识别 iOS 7.1 Beta 4 测试设备

我是不是必须升级到 Lion 才能在装有 iOS 5.1 的 iPad 上进行测试?

iOS 应用测试:未找到代码签名

xcode 5.1 beta ad hoc 构建无法上传到 Test Flight

XCode 运行所有测试(甚至是禁用的测试)

Xcode 4.2 和 iOS 5.1 管理器用黄点读取我的 iPhone?