Xcode中的代码覆盖率,无需测试(手动运行)

时间:2015-10-02 14:10:15

标签: ios xcode code-coverage

代码覆盖率通常与Xcode中的测试一起使用。我想用它来手动执行应用程序。我可以使用第三方工具吗?

例如:我在设备上构建并启动应用程序,使用它执行某些操作,然后查看代码覆盖率结果。

3 个答案:

答案 0 :(得分:0)

代码覆盖率将记录您的测试运行代码的哪些部分。但你可以建立一些UITests,它会像你说的那样预先形成一些行动。 UI可以记录UI测试以重复您在模拟器上执行的操作,然后当您运行测试时,它将重复您所做的操作。然后,覆盖范围将显示代码的哪些部分在UITests中兴奋。

在Xcode 7中查找有关UITesting的一些信息。在wwdc15的其中一个开发人员会话中有一个很好的演示

https://developer.apple.com/videos/wwdc/2015/?id=406

答案 1 :(得分:0)

可能你可能已经弄清楚了,但是在Xcode7之前它是可能的。我们实现这一目标的方式是,设置仪器程序流程"和"生成测试覆盖率文件"标记为是,在您的项目上,然后添加" flush"代码中某处的代码,用于编写coverage数据文件。这"冲洗"部分实际上写入覆盖数据文件,以便稍后由其他工具(如gcovr或lcov)使用,以获取您的覆盖数据。一旦您与应用程序交互,无论是手动还是通过自动化测试,都会覆盖覆盖数据。

然而,使用Xcode7,看起来覆盖数据仅限于Xcode单元测试。我仍然想弄清楚,如果有任何方法可以收集覆盖数据,通过手动与应用程序交互,或通过自动化测试。

答案 2 :(得分:0)

有人在这里提出了解决方案:https://github.com/SlatherOrg/slather/issues/209

您可以尝试让XCUITest永久休眠,然后手动使用该应用程序,并查看终止时是否生成覆盖文件。

我只是尝试了该解决方案,它对我来说非常合适:

XCTAssert(true)

sleep(30)上测试成功后,我可以看到手动用例的代码覆盖率。您可以使用{{1}}来满足您的要求。