2017-10-16 112 views
2

我正在开发一个应用程序,就像一个文件同步客户端(如Dropbox)。macOS Xcode黑盒测试

我想有接受(黑盒)测试有点像:

- (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

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

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

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