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获得准确的代码覆盖率?