2016-02-25 96 views
0

我的应用程序具有深度超过8个屏幕的深层导航链(向导式)。当我编辑视图控制器时,我想做一个快速的视觉更改和重新测试,作为一个测试人员,我必须通过完整的流程来结束在重新编译之前,在相同的数据状态下。有没有办法Xcode可以以某种方式保存应用程序状态,并重新运行相同的视图控制器?Xcode 7+重新编译后有没有办法保留应用程序状态

如果有一种自动方式来检测上次启动的屏幕,并在重新编译后重新显示它,这将为很多开发人员节省大量时间。

我意识到像这样的东西可以建立自定义。例如: 如果某个调试标志为ON: - 从NSUserDefaults中检索使用的最后一个控制器的类名,并重新显示它。
问题在于:数据状态和导航状态不会被保留。此外,所有其他调用并取决于您的控制器的对象状态都不会包含在内。这就是为什么我需要更通用的解决方案。

+0

你会考虑UI测试解决方案吗? – PaulWoodIII

+0

理想情况下,我希望能够进行调试,使用Xcode UI检查器和所有Xcode工具。另外我相信用户界面测试工具将需要设置测试用例,这会比通过手动使用模拟器进入相同数据状态的时间花费更多。 – Alex

回答

1

我建议你使用一个用户界面目标,然后创建一个视图控制器上工作的一个XCTestCase和锻炼吧。使用Xcode 7中的新记录按钮来开始测试用例。熟悉一些用于您可能创建的一些动态信息的新查询。

另一种选择是将您的测试用例的UI状态注入到XCTestCase的设置函数中的应用程序委托中。然后它将需要定制逻辑来导航到正确的视图控制器。然后,一旦应用程序委托导航到它,您的测试案例就可以专注于该ViewController。

当然,您可以在UI测试中使用测试用例和视图控制器中的调试器和断点。通过“编写脚本”,您可以大大减少手动点击设备以测试ViewCOntroller

此外,您现在已经有一个测试!当你改变某些东西时,希望值得你在路上

相关问题