我正在玩Xcode 7 beta中引入的新UI测试。在我的一个UI测试场景中,我需要添加一些代码,这些代码与单击Simulator -> Reset Content and Settings
我的测试文件setup()
中的XCTestCase
相同。可以通过编程方式完成重置吗?或者,我们可以模拟出厂重置对测试代码中的应用程序的影响吗?
答案 0 :(得分:1)
不完全以编程方式,但您始终可以编写要删除的bash文件:
${user.home}/Library/Application Support/iPhone Simulator/${simulator.version}
这将清除模拟器上的设置。
我的理解是,您在应用内无法实现这一目标,因为应用程序是沙盒式的。
答案 1 :(得分:0)
通常人们使用shell脚本或苹果脚本。但是,使用硬重置绝对没有必要。
您不应该关心其他应用中的数据,您应该只关心应用中的数据。您始终可以在测试开始时删除应用程序数据(文件,用户默认值)。那么,为什么要进行硬重置呢?
更好的解决方案是嘲笑。如果您的测试假设,例如NSUserDefaults
中的某个变量未设置,则您不必关心存储在那里的实际值,只需模拟您的实现所使用的方法(例如{{1让它返回objectForKey:
。