代码覆盖是否已经适用于Swift?

时间:2014-07-29 01:37:48

标签: swift code-coverage gcov xcode6

我正在尝试在Xcode 6 Beta 4上为Swift应用程序设置测试代码覆盖率。
过去我使用带有Xcode 5的ObjectiveC我能够这样做,但是我想我必须调用void __gcov_flush()方法来触发生成.gcda / .gcno文件。
我为检测和测试目标将检测和代码覆盖的两个属性设置为YES 但是在运行测试之后,当我查看时:
DerivedData / some子文件夹/ i386我看到的都是类型的文件:
.d,.dia,.o,.swiftmodule等,但没有任何表明代码覆盖率。

因此我有两个问题:

  1. 代码覆盖率是否适用于使用Xcode6 beta 4的Swift?
  2. 如果是,并且有必要先冲洗gcov,我该怎么做 来自斯威夫特?
  3. 由于

3 个答案:

答案 0 :(得分:3)

Xcode 6 Beta 4没有Swift工作的代码覆盖率。有一个公开的Apple问题,ID为:17450338。

答案 1 :(得分:2)

Xcode 7中提供了Swift的代码覆盖率。您可以在方案的测试设置中打开它,方法是勾选标记为“收集覆盖数据”的复选框。

请注意,Apple已为coverage数据引入了一种新格式,即profdata文件。

链接:

答案 2 :(得分:0)

在Xcode 6.3中没有修复,请参阅http://openradar.appspot.com/radar?id=6457429508227072