2

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

4

2 回答 2

1

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

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

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

我的理解是,由于应用程序是沙盒的,因此您将无法在应用程序中执行此操作。

于 2015-08-29T17:52:41.997 回答
0

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

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

  2. 更好的解决方案是模拟。如果您的测试假设,例如,某些变量 inNSUserDefaults未设置,您不必关心存储在那里的实际值,只需模拟您的实现正在使用的方法(例如objectForKey:,让它 return nil.

于 2015-08-29T22:10:39.537 回答