我使用GHUnit进行单元测试,并编写了GHAsyncTestCase的子类,但在我的情况下,Web服务不像是一个活动服务请求,你发送请求并希望得到答案,而不是这个,我的Web服务是一个被动类型的服务,你订阅一个频道,然后它可以发送消息,但不能保证服务器将消息推送到订阅者的频率,在这种情况下,比如订阅后50秒,服务器推送消息和其他消息后30秒,我应该这样做:
[self waitForStatus:kGHUnitWaitStatusSuccess timeout:50.0f];
验证第一条消息,还是有任何聪明的方法来执行此操作?
谢谢!
答案 0 :(得分:0)
这取决于你想做什么。 如果要验证来自服务器的数据,可以向服务器发送请求,要求它立即推送并使用
[self waitForStatus:kGHUnitWaitStatusSuccess timeout:50.0f];
等待推送的消息。
您想要验证您的objective-c代码,您可以向您的对象发送一些虚假数据。 如果您使用NSURLConnection获取数据,请在测试代码中使用一些假数据调用下面的委托方法
- (void)connection:(NSURLConnection *)aConnection didReceiveData:(NSData *)data
单元测试背后的想法是“单元”测试。测试代码应该关注您要测试的“单元”。从测试中排除其他不可控因素(如网络可用性)是一种很好的做法。