Iphone XCode-从模拟器复制sqlite DB并复制到设备上进行测试

Iphone XCode-从模拟器复制sqlite DB并复制到设备上进行测试,iphone,xcode,core-data,Iphone,Xcode,Core Data,我正在开发一个核心数据应用程序,并在iPhone模拟器中填充了所有用于测试该应用程序的装置/数据的sqlite文件。我想将该sqlite文件用作一组标准化的测试数据 我测试应用程序的设备都有不同的数据集,我想在模拟器中的数据集上进行标准化 在XCode(3或4)中是否有方法向构建/安装过程添加一个步骤,从iPhone模拟器复制sqlite文件,并将其安装到手机上的文件上(如果存在) 谢谢, Neal如果您找到了有问题的sqllite文件,可能位于~/Library/Application Sup

我正在开发一个核心数据应用程序,并在iPhone模拟器中填充了所有用于测试该应用程序的装置/数据的sqlite文件。我想将该sqlite文件用作一组标准化的测试数据

我测试应用程序的设备都有不同的数据集,我想在模拟器中的数据集上进行标准化

在XCode(3或4)中是否有方法向构建/安装过程添加一个步骤,从iPhone模拟器复制sqlite文件,并将其安装到手机上的文件上(如果存在)

谢谢,
Neal

如果您找到了有问题的sqllite文件,可能位于
~/Library/Application Support/iPhone Simulator/{version}/Applications/{Application id}/
中,您可以将其复制到项目中并添加到构建过程中。当你重置sim卡时,你需要复制它


在几个项目中,我添加了一个单元测试来确定“默认”sqllite数据库是否存在(我从测试构建目录链接它)。然后,如果数据库丢失,我让单元测试创建它(使用文本文件:csv或sql)。采用这种方法允许我以后更改模式、数据等。它还允许我对默认数据库运行测试。

如果您找到有问题的sqllite文件,可能在
~/Library/Application Support/iPhone Simulator/{version}/Applications/{Application id}/
中,您可以将其复制到项目中,并将其添加到生成过程中。当你重置sim卡时,你需要复制它


在几个项目中,我添加了一个单元测试来确定“默认”sqllite数据库是否存在(我从测试构建目录链接它)。然后,如果数据库丢失,我让单元测试创建它(使用文本文件:csv或sql)。采用这种方法后,我可以修改模式、数据等。它还允许我对默认数据库运行测试。

将其与单元测试结合起来很有意思,但它并不真正属于那里。这确实是为了测试,但我不确定它是否完全适合单元测试“框”。在我看来,这似乎更适合构建/安装过程。我已经做了更多的挖掘,看到新的Xcode在某种程度上支持脚本,所以我想知道这是否是一个方向……我可以理解这个观点。我的立场是,如果“默认”数据库不存在,测试就会失败(然后构建它)。然后,我有一个断言,它没有通知我(和其他开发人员)失败。构建脚本的方法也足够了。将它与单元测试放在一起很有趣,但它并不真正属于单元测试。这确实是为了测试,但我不确定它是否完全适合单元测试“框”。在我看来,这似乎更适合构建/安装过程。我已经做了更多的挖掘,看到新的Xcode在某种程度上支持脚本,所以我想知道这是否是一个方向……我可以理解这个观点。我的立场是,如果“默认”数据库不存在,测试就会失败(然后构建它)。然后,我有一个断言,它没有通知我(和其他开发人员)失败。构建脚本的方法也足够了。