模拟攻丝UILabel

时间:2014-12-09 10:27:23

标签: ios objective-c unit-testing uilabel bdd

在我的BDD测试中,我可以使用以下类别模拟点击按钮:

@implementation UIControl (Specs)

- (void)specsSimulateTap {
    [self sendActionsForControlEvents:UIControlEventTouchUpInside];
}

@end

如何使用手势识别器为UILabel做类似的事情?

理想情况下,我希望能够在我的代码中输入以下内容:

[myLabel specsSimulateTap]

1 个答案:

答案 0 :(得分:0)

我不相信你想做的事情是可能的。通过查看UIGestureRecognizer的文档,似乎没有用于捕获目标/操作的公共API。

您可以使用私有API来调用这些方法,但是您需要确保在App Store的构建中不会出现任何私有API的使用。有一个comment on a similar question节目如何做到这一点。

使用私有API通常是一个坏主意,就好像Apple在幕后改变行为可能会导致测试失败。也许退后一步,想想你想要在这里测试什么。