块中的 STFail

Posted

技术标签:

【中文标题】块中的 STFail【英文标题】:STFail in block 【发布时间】:2012-11-28 08:51:22 【问题描述】:

使用 SenTestingKit 运行测试时,它们不会在块内正确失败,例如

operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request
                                                            success:^(NSURLRequest *req, NSHTTPURLResponse *response, id jsonObject)
                                                                STFail(@"This does not fail");
                                                            
                                                            failure:^(NSURLRequest *req, NSHTTPURLResponse *response, NSError *error, id jsonObject)
                                                                STFail(@"Neither does this");
                                                            ];
[operation start];
STFail(@"But this fails fine");

我错过了什么?

【问题讨论】:

【参考方案1】:

问题是你有一个异步调用。这意味着它会立即返回并且你的最后一个 STFail 被命中。

有一些解决方案。 How to unit test asynchronous APIs?

【讨论】:

以上是关于块中的 STFail的主要内容,如果未能解决你的问题,请参考以下文章

服务块中的 Anylogic 测量时间

块中的 CUDA 最大线程数

删除神奇滑块中的缩略图文本

PostgreSQL:块中的无效页眉

NSBlockOperation 和块中的对象

finally 块中的异常