从今天早些时候开始,从 Xcode 5 运行测试时,我无法通过测试。我知道所有测试都通过了,因为我可以从命令行(嗯,CI 作业)运行它们并且它们都通过了那里。
我是否不小心更改了某些项目设置或导致此问题的原因?我想不出任何办法来恢复到一个好的状态——我已经尝试过在我们的 Git 历史中回退几个版本,所以我知道这不是代码更改......
编辑:卸载并重新安装应用程序后,所有测试都运行完成,但我的问题仍然存在——它是如何达到这种状态的?
从今天早些时候开始,从 Xcode 5 运行测试时,我无法通过测试。我知道所有测试都通过了,因为我可以从命令行(嗯,CI 作业)运行它们并且它们都通过了那里。
我是否不小心更改了某些项目设置或导致此问题的原因?我想不出任何办法来恢复到一个好的状态——我已经尝试过在我们的 Git 历史中回退几个版本,所以我知道这不是代码更改......
编辑:卸载并重新安装应用程序后,所有测试都运行完成,但我的问题仍然存在——它是如何达到这种状态的?
几周后没有收到更好的答案,我将用似乎对我有用的解决方案来回答我自己的问题。
从模拟器中进行简单的卸载/重新安装似乎可以解决问题,尽管我还没有确定是什么原因造成的,或者为什么会解决这个问题。
我也有这个问题。对我来说,修复它的更改是将 Build Settings 中的 Wrapper Extension 从 octest 转换为 xctest,正如@owenfi 在这里回答的那样:XCTest 没有在 Xcode 5 中完成
我遇到了同样的问题,在我的情况下,问题是在创建多个目标/重命名目标后出现的。
为了解决这个问题,我必须在“目标浏览器”中选择测试目标(不管它的名称是什么),然后在“常规”选项卡上有一个标有“目标”的下拉框。我的设置为“无”,这导致没有任何测试。我必须将其重新设置为我的有效目标之一才能运行测试。
对我来说,这似乎是 64 位模拟器的问题。没有一个测试可以在 64 位上运行,但是当我切换到 32 位时,它们开始运行。
现在可能有点晚了,但这对我们有用:转到构建设置并在代码签名下 - 如果您没有有效的开发人员证书,请将调试和发布设置为“不要代码签名”。
我设法通过删除对将日志重定向到文件的 freopen() 函数的调用来解决此问题。我还通过删除将大量数据打印到控制台的几个 NSLog() 调用来修复它以进行测试。Xcode 必须在日志进入窗口时读取日志,以检查测试是否已完成,并且打印出的大量数据必须破坏其解析器。