首先,先谢谢你帮我解决这个问题。最近,我尝试使用slather为我的xcode项目生成代码覆盖率报告,但是当我执行slather时,它会失败,下面是错误。
您确定您的项目正在生成覆盖范围吗?确保在Xcode方案的测试部分启用代码覆盖率。是否指定了Xcode方案?(--方案或.slather.yml中的“方案”)如果使用工作区,是否指定了?(--工作区或.slather.yml中的“工作区”)如果使用不同的Xcode配置,是否指定了?(-配置或.slather.yml中的“配置”)
尽管我已经在.slather.yml文件中指定了上面提到的所有配置。但我还是会犯同样的错误。下面是我的.slather.yml代码
output_directory: slather-report
scheme: *Project scheme* // This scheme has enabled code coverage in test section
workspace: *Project*.xcworkspace
xcodeproj: *Project*.xcodeproj
configuration: Staging
arch: x86_64
html: true
ignore:
- Pods/* 因此,我浏览了一下slather project.rb文件,并找到了它,然后尝试找到一个名为Coverage.profdata的文件。但是在执行Xcode unitTest时,Xocde永远不会生成任何名为Coverage.profdata的文件,即使我已经启用了该特定方案的代码覆盖率。
那么,我是不是在生成Coverage.profdata时遗漏了什么,如果是,请告诉我?再次预先感谢
发布于 2018-05-09 17:53:43
Coverage.profdata文件通常出现在Build/Intermediate/{ file }/ProfileData目录中。确保文件在那里。
另外,确保使用Product->Test选项生成Coverage.profdata文件,因为在Release模式下简单地运行目标不会生成代码覆盖数据。
https://stackoverflow.com/questions/49354990
复制相似问题