ios - 有什么方法可以测试 UIAutomation 测试的代码覆盖率吗?

标签 ios code-coverage ios-ui-automation

我正在使用 UIAutomation 来测试一个应用程序,我想知道我的代码覆盖率。但是由于 javascript 没有预处理器,这意味着 gcov 和类似的不是一个选项。有没有人为此提出解决方案?

最佳答案

对于 Xcode 4.5 及更新版本:

  • 将“生成测试覆盖文件”build设置设置为是。
  • 将“仪器程序流程”build设置设置为是。

  • 这将在您每次在模拟器中运行应用程序并退出应用程序时生成代码覆盖率文件。这两个步骤的详细解释可以在http://qualitycoding.org/xcode-code-coverage/的开头找到。 .

    对于任何单元测试,每次您点击测试按钮并完成测试时,都会生成代码覆盖率文件。对于 UIAutomation,它有点棘手。您必须确保应用程序在测试结束时退出。我发现最简单的方法是关闭多任务处理。在您的 MyAppName-Info.plist 文件中添加 UIApplicationExitsOnSuspend 并将此选项设置为"is"。运行您的 UI 自动化测试,最后您可以通过手动按下模拟器中的主页按钮或使用 UIATarget.localTarget().deactivateAppForDuration() 方法退出应用程序。

    注意:如果您的应用程序有任何依赖于 deactivateAppForDuration() 方法的 UI 自动化测试,则测试将在运行该命令时终止。

    关于ios - 有什么方法可以测试 UIAutomation 测试的代码覆盖率吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013854/

    相关文章:

    ios - 将 UITabBar 放置在 UITabBarController 中的屏幕顶部

    tomcat - cobertura 的副作用

    ios - 如何在 UIautomation ios 中创建嵌套日志

    java - 持续集成 : ensure new commits are covered with tests

    continuous-integration - CI 管道中的 Kotlin 代码覆盖率

    javascript - 使用 UI 自动化检测设备类型

    javascript - 从 iOS UIAutomation 发出同步 HTTP GET 请求或调用 JavaScript 中的 shell 脚本

    android - 如何修复 Flutter AndroidX 不兼容问题?

    ios - 在iOS键盘上覆盖自定义键盘

    ios - 如何在 iOS8 自定义键盘中使用自动更正和快捷键列表?