我希望使用Slather将单元测试代码覆盖率导出到TeamCity,但是我遇到问题甚至让它运行,我有点困惑,因为我没有发现其他人遇到此错误。希望有人可以帮助我。我是一名构建工程师,而不是XCode开发人员,我们的开发人员似乎不知道是什么导致它。
无论如何,为了试用Slather,我获得了一台新的Mac,所以我安装了RVM和Ruby 2.4.1。然后我安装了Slather宝石,这一切都非常简单快捷。
我构建了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环境中设置一些非常简单的小东西。
答案 0 :(得分:0)
很抱歉发布我自己的问题的答案,但我发现我做错了什么,这是一个环境问题。
从这个答案中找到了解决方案:StackOverflow XCode Select Active Developer Directory Error
问题是我从XIP打开了XCode,实际上是从Downloads文件夹运行它而不是Applications文件夹。但是,XCode命令行工具期望它在应用程序中。一旦我将XCode放在正确的位置,Slather工作正常。
基本上是Windows用户的新手OSX错误。