
由于运行测试的应用程序无法访问测试应用程序的捆绑包,因此无法访问用户默认值和其他数据。脚本也没有问题,因为它们可以在测试之前或之后运行。而没有办法在iOS上执行NSTask,以便在每个测试套件之前运行脚本。
有没有办法在每个测试套件之前重置应用程序数据?
解决方法 不是直接的方式。但是有一些解决方法。XCUIApplication可以设置可以改变应用程序行为的命令行参数和环境变量。
一个简单的main.m文件示例:
int main(int argc,char * argv[]) {#if DEBUG // reset all data for UI Testing @autoreleasepool { for (int i = 1; i < argc; ++i) { if (0 == strcmp("--reset-container",argv[i])) { NSArray *folders = NSSearchPathForDirectorIEsInDomains(NSlibraryDirectory,NSUserDomainMask,YES); NSfileManager *fm = [[NSfileManager alloc] init]; for (Nsstring *path in folders) { [fm removeItemAtPath:path error:nil]; } // Also remove documents folder if necessary... } } }#endif @autoreleasepool { return UIApplicationMain(argc,argv,nil,NsstringFromClass([AppDelegate class])); }} 在 – [XCTestCase setUp]中添加:
XCUIApplication *app = [[XCUIApplication alloc] init];app.launchArguments = @[@"--reset-container"];[app launch];总结
以上是内存溢出为你收集整理的ios – Xcode 7 UI测试后,如何重新设置每次测试后的应用程序数据?全部内容,希望文章能够帮你解决ios – Xcode 7 UI测试后,如何重新设置每次测试后的应用程序数据?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)