我正在开发一个类似文件同步客户端的应用程序(如Dropbox)。
我希望接受(黑盒)测试类似:
- (void) testLocalFolderCreation
{
// assert there is no folder on the server
// create folder (either via NSFileManager or system('mkdir ...'))
// wait a few seconds
// assert there is now a relevant folder on the server
}
以及一系列测试本地和远程更改以及同步客户端行为的测试。
我尝试在Xcode中创建单元测试包,但实际上并没有启动我需要进行此类测试的应用程序。
我想一次性测试应用程序,而不是为每个测试方法或测试类重新启动整个应用程序。
有谁知道如何解决这个问题? 我想,一个选项是创建单独的应用程序(在Xcode或一些完全其他语言),这将启动应用程序(我的同步客户端)并在应用程序运行时进行测试;但我不确定这是不是一个合适的方法。
答案 0 :(得分:0)
我最终在python中编写测试。 Python程序会做: 1.准备带有测试数据的测试环境(删除旧用户帐户并创建新的用户登录帐户) 2.删除磁盘上任何旧的缓存应用程序数据并启动该应用程序 3.进行如下测试: 3.1。在本地修改文件系统 3.2。睡3秒 3.3。断言服务器上的状态是预期的
反之亦然(使远程服务器更改,睡眠5秒,断言本地状态如预期)。
最后结果非常好,但我猜这个解决方案适合这种应用程序(虚拟文件系统),不能用于通用应用程序。