我想编写一种黑盒单元测试,该方法可以延迟调用另一个方法。 看起来像这样:
- (void) doSomething {
// Do something
[self performSelector:@selector(doSomethingLater) withObject:nil afterDelay:kDelay];
}
- (void) doSomethingLater { }
其中kDelay
是常数,而doSomethingLater
是私有的。 问题是kDelay
是1秒,我不想减慢单元测试的执行速度。
在黑盒方法下(或尽可能多地)对doSomething
进行单元测试的最佳方法是什么?
唯一想到的就是在类中添加一个方法来更改kDelay
的值,但这可能会被其他开发人员偶然使用。 是否有侵入性较小的替代方法?