【发布时间】:2012-08-20 01:47:34
【问题描述】:
我有一个简单的 if 条件,当满足时,添加一个目标以在点击“完成”时放下键盘
- (void)addDoneWhenTrue:(UITextField *)input
{
if (YES)
{
[input addTarget:self action:@selector(textFieldFinished:) forControlEvents:UIControlEventEditingDidEndOnExit];
}
}
- (IBAction)textFieldFinished:(id)sender
{
[sender resignFirstResponder];
}
我在 iOS5 上使用 OCMock 和 OCUnit。如何创建一个单元测试,允许我传入一个简单的UITextField 输入并模拟点击其上的完成按钮以验证resignFirstResponder 是否发生(或不发生)?
【问题讨论】:
-
我想我可以帮助您进行测试,但首先,您为什么要添加此目标/操作?为什么不直接用
if (theCondition) [self.textField resignFirstResponder];实现textFieldShouldReturn: -
有趣 - 不确定我是否有真正的理由使用上面的实现(只是希望基本键盘上的 DONE 按钮在点击时将其放下......你拥有的任何东西都是可测试的并且这样做为我工作)
标签: objective-c cocoa-touch ocunit ocmock