Objective c 单元测试iOS应用程序同步逻辑

Objective c 单元测试iOS应用程序同步逻辑,objective-c,xcode,unit-testing,Objective C,Xcode,Unit Testing,我最近采用了一个iOS公司应用程序,作为媒体CMS的客户端。换句话说,web应用程序管理视频、图像幻灯片和静态/脱机HTML文件的目录。iOS应用程序连接到web应用程序并将此内容下载到自身以供脱机使用 热点是iOS和web应用程序之间的同步逻辑。对这两个项目之间的逻辑进行单元测试有什么建议吗?是的,你必须“欺骗”一些。一种方法是使用nsrunlop的runUntilDate:方法,这就是我的方法 基本上,为了给您的web代码一个与web通信的机会,您希望将单元测试置于一种忙碌的等待中,实际上让

我最近采用了一个iOS公司应用程序,作为媒体CMS的客户端。换句话说,web应用程序管理视频、图像幻灯片和静态/脱机HTML文件的目录。iOS应用程序连接到web应用程序并将此内容下载到自身以供脱机使用

热点是iOS和web应用程序之间的同步逻辑。对这两个项目之间的逻辑进行单元测试有什么建议吗?

是的,你必须“欺骗”一些。一种方法是使用
nsrunlop
runUntilDate:
方法,这就是我的方法

基本上,为了给您的web代码一个与web通信的机会,您希望将单元测试置于一种忙碌的等待中,实际上让每个人都做一些工作,但您还希望定期“检查”单元测试,以查看您的操作是否完成

以下是我的“开始工作”方法:

因此,在每个单元测试中:

   NSTimeInterval testSpecificTimeout = 60; //60 seconds or however long you need...
   [self runLooperDooper:testSpecificTimeout]; 
   STAssertTrue(stopRunLoop, @"Failed to complete before runloop expired after %f seconds", timeoutInSeconds);
然后,通过将
stopRunLoop
ivar设置为
TRUE
,我还为我的web代码注册了一些事件处理程序,以了解其操作何时完成

是的,你必须“欺骗”一些人。一种方法是使用
nsrunlop
runUntilDate:
方法,这就是我的方法

基本上,为了给您的web代码一个与web通信的机会,您希望将单元测试置于一种忙碌的等待中,实际上让每个人都做一些工作,但您还希望定期“检查”单元测试,以查看您的操作是否完成

以下是我的“开始工作”方法:

因此,在每个单元测试中:

   NSTimeInterval testSpecificTimeout = 60; //60 seconds or however long you need...
   [self runLooperDooper:testSpecificTimeout]; 
   STAssertTrue(stopRunLoop, @"Failed to complete before runloop expired after %f seconds", timeoutInSeconds);
然后,通过将
stopRunLoop
ivar设置为
TRUE
,我还为我的web代码注册了一些事件处理程序,以了解其操作何时完成