xcode - 尝试获取代码覆盖率时出现大量错误

标签 xcode code-coverage slather

我希望使用 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/

相关文章:

objective-c - 核心数据过度使用?

ios - 使我的 UIView 可滚动

ios - 模拟器架构 - 包含原生 iOS 框架的 Cordova 插件

xcode - Swift - 取决于 TableView 单元格的详细 View Controller

java - JaCoCo 与 IntelliJ

unit-testing - TeamCity:您如何报告单元测试覆盖率较低?

android 覆盖本地单元测试

rubygems - 使用带有 FaSTLane 的 Slather

sonarqube - 将 Slather 报告发布到 SonarQube