【发布时间】:2013-10-22 16:03:16
【问题描述】:
好的。我环顾四周,并没有找到我的问题的确切答案。
我正在尝试在单元测试(不是主运行)中测试超时处理程序。
问题似乎是 [NSRunLoop mainRunLoop] 在单元测试中的运行方式不像在标准运行中那样运行。
我以这种方式超时:
NSTimer *pTimeoutHandler = [NSTimer
timerWithTimeInterval:2.0
target:self
selector:@selector(timeoutHandler:)
userInfo:nil
repeats:NO
];
[[NSRunLoop mainRunLoop] addTimer:pTimeoutHandler forMode:NSRunLoopCommonModes];
这适用于标准运行。这是设置超时的推荐方式。
但是,在测试运行中,这不起作用。永远不会调用 timeoutHandler:(NSTimer*)timer 例程。
看起来好像有东西干扰了运行循环。
有什么方法可以让我在运行和单元测试中都使用超时?
【问题讨论】:
-
这个帖子有帮助吗? stackoverflow.com/questions/12463733/…
标签: ios unit-testing