试图获得代码覆盖率时出现错误

slather error, when trying to get code coverage

我正在寻找使用 Slather 将单元测试代码覆盖率导出到 TeamCity,但是我 运行 遇到了问题,甚至 运行,我有点困惑,因为我没有发现其他人遇到此错误。所以希望有人能帮助我。我是构建工程师,不是 XCode 开发人员,我们的开发人员似乎不知道是什么原因造成的。

无论如何,为了试用 Slather,我得到了一个新的 Mac,所以我安装了 RVM 和 Ruby 2.4.1。然后我安装了 Slather gem,这一切都非常简单快捷。

我构建了 XCode 项目,运行 单元测试并看到 XCode 在 IDE 中显示了代码覆盖率数据。

在我的终端中,我 运行 覆盖命令,它 returns 错误:

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 环境中设置的一些非常简单的小东西。

很抱歉发布我自己问题的答案,但我发现我做错了什么,这是一个环境问题。

从这个答案中找到了解决方案:Whosebug XCode Select Active Developer Directory Error

问题是我从 XIP 打开了 XCode,本质上是 运行 它是从 Downloads 文件夹而不是 Applications 文件夹打开的。然而,XCode 命令行工具期望它在应用程序中。一旦我将 XCode 放在正确的位置,Slather 就可以正常工作。

基本上是 Windows 用户的菜鸟 OSX 错误。