slather 错误,当试图获得代码覆盖率时

Posted

技术标签:

【中文标题】slather 错误,当试图获得代码覆盖率时【英文标题】:slather error, when trying to get code coverage 【发布时间】:2017-08-21 05:30:27 【问题描述】:

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

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

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

在我的终端中,我运行了 slather coverage 命令,它返回了错误:

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

【问题讨论】:

【参考方案1】:

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

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

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

基本上是 Windows 用户的新手 OSX 错误。

【讨论】:

以上是关于slather 错误,当试图获得代码覆盖率时的主要内容,如果未能解决你的问题,请参考以下文章

如何使用邮递员测试获得代码覆盖率

如何使用isparta,webpack,jasmine和karma获得准确的代码覆盖率?

RNGoogleSignin 试图覆盖 RNGoogleSigninModule 错误

被解救的代码 - 代码即服务时代来了!

Java file.exists() 错误

运行时代码覆盖工具