UI 测试的 XCode 7 代码覆盖率结果

Posted

技术标签:

【中文标题】UI 测试的 XCode 7 代码覆盖率结果【英文标题】:XCode 7 code coverage results for UI Testing 【发布时间】:2015-11-07 07:49:36 【问题描述】:

我在本地 MAC 上使用 XCode 版本 7.1 (7B91b)。 并在 Simulator iPhone 6 (ios9) 上测试我的应用。

我为我的应用创建了单元测试,然后我发现代码覆盖率约为 34%。我决定创建 UI 测试来增加代码覆盖率。但遗憾的是,代码覆盖率并没有增加。

我做了一个简单的试验,

    使用 NavBarContrl、FirstTabelViewController 和 SecondTableViewController 创建一个项目,保持单元测试为默认值

    离开单元测试,在 UI 测试中添加一条记录以从第一个表视图控制器导航到第二个。 (我希望第一/第二表视图控制器都必须在最终的代码覆盖率报告中突出显示,对吧?)

    确保启用代码覆盖率

    运行测试然后检查代码覆盖率,它是 40%

看一下附上的代码覆盖率结果,Second View Controller覆盖率为零!!虽然当我在看模拟器时,它确实从第一个视图控制器导航到了第二个。不能为零。

这里有什么我想念的吗? 我试图在 Apple 官方文档中进行搜索,但找不到任何明确的矛盾与 UI 测试的代码覆盖率,有什么建议吗?

【问题讨论】:

您是否找到任何解决方案来通过 UI 测试覆盖视图控制器逻辑?我正在寻找相同的 我认为如果你在真机而不是模拟器上运行你的应用 UI 测试,效果会好很多 【参考方案1】:

确保您已在 Scheme 设置的测试部分中启用 Debug Executable

如果没有这个选项,Xcode 似乎无法收集覆盖率数据。

【讨论】:

以上是关于UI 测试的 XCode 7 代码覆盖率结果的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 7 中使用代码覆盖率?

Xcode 7 代码覆盖率 - 无覆盖率数据

如何通过 Xcode 7 中的 UI 测试在 iOS 应用程序中运行代码?

Xcode 7.0 和 7.1,代码覆盖打开,单元测试崩溃“无法合并以前的 GCDA 文件:损坏的弧标签”

Xcode 7 - 代码覆盖数据生成失败

如何在 Xcode 7 的 UI 测试中获取对 TextField 的引用