我希望使用 Slather 将单元测试代码覆盖率导出到 TeamCity,但是即使让它运行我也遇到了问题,而且我有点困惑,因为我没有发现其他人遇到此错误。所以希望有人能帮助我。我是一名构建工程师,而不是 XCode 开发人员,我们的开发人员似乎不知道是什么原因造成的。
无论如何,为了试用 Slather,我得到了一台新 Mac,所以我安装了 RVM 和 Ruby 2.4.1。然后我安装了 Slather gem,这一切都非常简单快捷。
我构建了 XCode 项目,运行了单元测试,并看到 XCode 在 IDE 中显示了代码覆盖率数据。
在我的终端中,我运行了 slathercoverage 命令,它返回错误:
Slathering...
/Users/me/.rvm/gems/ruby-2.4.1/gems/CFPropertyList-2.3.5/lib/cfpropertylist/rbCFPropertyList.rb:349:in `load`: File /Library/Developer/CommandLineTools/../Info.plist not readable! (IOError).
所以我的问题是我错过了什么?
Mac是新的,我只添加了XCode v8.2.1、RVM、Ruby和Slather。 Slather 引入了它需要的所有依赖项。 XCode 项目已打开测试覆盖率,并且 Slather 站点中没有任何内容提及我需要在项目设置中修改 plist 引用路径。
我什至访问了一个博客网站并尝试了他们使用 Slather 的演示项目 https://cocoacasts.com/how-to-generate-code-coverage-reports-in-xcode-with-slather/我在他们的项目中也遇到了同样的错误。
Slather 似乎适用于大多数其他人,所以希望它只是我需要在这个 Mac 环境中设置的一些非常简单的小东西。
最佳答案
很抱歉发布我自己问题的答案,但我发现我做错了什么,这是一个环境问题。
从这个答案中找到了解决方案:StackOverflow XCode Select Active Developer Directory Error
问题是我从 XIP 打开了 XCode,并且基本上是从“下载”文件夹而不是“应用程序”文件夹运行它。然而 XCode 命令行工具期望它出现在应用程序中。一旦我将 XCode 放在正确的位置,Slather 就可以正常工作。
基本上是 Windows 用户犯的 OSX 新手错误。
关于xcode - 尝试获取代码覆盖率时出现大量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45789867/