2

我正在开发一个类似于文件同步客户端(如 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 或其他语言),这将启动应用程序(我的同步客户端)并在应用程序运行时进行测试;但我不确定这是否是一种正确的方法。

4

1 回答 1

0

我最终用python编写了测试。Python 程序会做: 1. 使用测试数据准备测试环境(删除旧用户帐户并创建新的新用户登录帐户) 2. 删除磁盘上所有旧缓存的应用程序数据并启动应用程序 3. 进行如下测试: 3.1。本地修改文件系统 3.2. 睡 3 秒 3.3。断言服务器上的状态是预期的

反之亦然(更改远程服务器,休眠 5 秒,断言本地状态符合预期)。

最终结果非常好,但我想这个解决方案适合这种应用程序(虚拟文件系统),它不能被通用应用程序采用。

于 2018-01-01T22:04:20.397 回答