0

我使用 GHUnit 进行单元测试,并编写了 GHAsyncTestCase 的子类,但在我的情况下,Web 服务不像您发送请求并期望收到答案的主动服务请求,而不是这个,我的 Web 服务是被动类型您订阅频道的服务,然后它可以向您发送消息,但不能保证服务器向订阅者推送消息的频率,在这种情况下,订阅后 50 秒,服务器在 30 秒后推送一条消息和另一条消息,那么我应该这样做:

[self waitForStatus:kGHUnitWaitStatusSuccess timeout:50.0f];

验证第一条消息,或者有什么聪明的方法可以做到这一点?

谢谢!

4

1 回答 1

0

这取决于你想做什么。如果你想验证来自你的服务器的数据,你可以向服务器发送一个请求,要求它立即推送一些东西并使用

[self waitForStatus:kGHUnitWaitStatusSuccess timeout:50.0f];

等待推送的消息。

如果您想验证您的 Objective-C 代码,您可以向您的对象发送一些虚假数据。如果您使用 NSURLConnection 获取数据,请在测试代码中使用一些假数据调用下面的委托方法

- (void)connection:(NSURLConnection *)aConnection didReceiveData:(NSData *)data

单元测试背后的想法是“单元”测试。测试代码应该关注你想要测试的“单元”。从测试中排除其他不可控因素(如网络可用性)是一种很好的做法。

于 2012-11-27T09:10:53.367 回答