UITesting命令行参数选项

时间:2017-10-16 21:15:48

标签: ios swift xcode-ui-testing

我正在尝试为我公司的应用编写UITests。我遇到了几篇关于将命令行参数传递给我的应用程序的文章,例如:

if CommandLine.arguments.contains("--uitesting-enrolled") {
    resetEnrolledState()
} else if CommandLine.arguments.contains("--uitesting-unenrolled") {
    resetUnenrolledState()
}

resetEnrolledState()resetUnenrolledState()方法中,我设置/取消设置UserDefault值,以便我知道我的环境已正确配置。

有没有比将我的prod代码与我的测试代码混合更好的选择?

1 个答案:

答案 0 :(得分:2)

我所知道的唯一方法是混合您的生产和测试代码,这是设计的。 From Apple's documentation

  

用户界面测试以与用户无法访问您应用的内部方法,功能和变量相同的方式运行您应用的用户界面。

我能给出的最好的建议是尝试将所有以测试为中心的代码放在一个地方,并尽可能多地进行单元测试。