我正在尝试为Xcode 6 Beta 4上的Swift应用程序设置测试代码覆盖率。
我能够做到这一点,在过去使用objective与Xcode 5,但我认为我必须调用void __gcov_flush()
方法,以触发生成。gcda/。gcno文件。
我将应用程序和测试目标的检测和代码覆盖属性设置为YES
。然而,在运行测试后,当我查看:
派生数据/一些子文件夹/i386所有我看到的文件类型:
. dia, .d . o。Swiftmodule等等,但是没有任何指示代码覆盖的内容。
所以我有两个问题:
- 使用Xcode6 beta 4,代码覆盖是否可以为Swift工作?
- 如果是,并且需要先冲洗gcov,我该如何做从迅速?
谢谢
Xcode 6 Beta 4没有为Swift工作的代码覆盖。id: 17450338是一个公开的苹果问题。
Swift的代码覆盖在Xcode 7中可用。您可以在您的方案的测试设置中打开它,通过勾选标记为"Gather coverage data"的复选框。
请注意,Apple已经为覆盖率数据引入了一种新的格式,profdata文件。
链接:
- Xcode概述:使用代码覆盖(Mac) (Apple docs)Xcode概述:使用代码覆盖(iOS) (Apple docs)
- 利用Xcode 7的Swift代码覆盖(博客文章,不是我的)
在Xcode 6.3中没有修复,参见http://openradar.appspot.com/radar?id=6457429508227072