目标C - "重置内容和设置"以编程方式在测试文件中

时间:2015-08-17 20:54:08

标签: objective-c xcode xctest xcode7 xcode-ui-testing

我正在玩Xcode 7 beta中引入的新UI测试。在我的一个UI测试场景中,我需要添加一些代码,这些代码与单击Simulator -> Reset Content and Settings我的测试文件setup()中的XCTestCase相同。可以通过编程方式完成重置吗?或者,我们可以模拟出厂重置对测试代码中的应用程序的影响吗?

2 个答案:

答案 0 :(得分:1)

不完全以编程方式,但您始终可以编写要删除的bash文件:

${user.home}/Library/Application Support/iPhone Simulator/${simulator.version}

这将清除模拟器上的设置。

我的理解是,您在应用内无法实现这一目标,因为应用程序是沙盒式的。

答案 1 :(得分:0)

通常人们使用shell脚本或苹果脚本。但是,使用硬重置绝对没有必要。

  1. 您不应该关心其他应用中的数据,您应该只关心应用中的数据。您始终可以在测试开始时删除应用程序数据(文件,用户默认值)。那么,为什么要进行硬重置呢?

  2. 更好的解决方案是嘲笑。如果您的测试假设,例如NSUserDefaults中的某个变量未设置,则您不必关心存储在那里的实际值,只需模拟您的实现所使用的方法(例如{{1让它返回objectForKey: