如何检查UIButton是否有目标?

伯纳德

我想在UIView上测试具有正确处理程序的UIbutton。

我见过的一种方法是:

NSArray *actions = [loginVC.registerBtn actionsForTarget:target forControlEvent:UIControlEventTouchUpInside];

actionForTraget当发生指定事件时,根据apple返回的操作将对目标对象执行。

但是我看到的另一种方式是循环并检查allTargets:

for (id target in loginVC.registerBtn.allTargets) {
        NSArray *actions = [loginVC.registerBtn actionsForTarget:target forControlEvent:UIControlEventTouchUpInside];
        XCTAssertEqual(actions.count, 1);
        SEL handler = NSSelectorFromString(actions[0]);
        XCTAssertTrue([loginVC respondsToSelector:handler]);
    }

根据苹果参考:

allTargets :返回与控件关联的所有目标对象。

没有循环有什么区别。我们什么时候需要循环它以及什么时候只需要获取actionForTarget?

我的问题的第二部分只是我们需要检查按钮上是否有目标,或者还检查连接了哪种方法以执行操作,如下所示:

NSArray *actions = [loginVC.registerBtn actionsForTarget:target forControlEvent:UIControlEventTouchUpInside]; 
XCTAssertTrue([actions containsObject:@"onRegisterButtonPressed:"]);

最佳做法是什么?

如果开发人员更改了其他方法来处理UIButton的操作,则他们也必须在测试中进行更改,还是我们需要进行测试以使测试失败并更新测试?

rmaddy

allTargets如果要检查所有目标的所有操作,请使用循环

您不使用循环,仅actionsForTarget:forControlEvent:在只希望针对单个已知目标执行操作时使用

对于问题的第二部分,您要检查的内容由您决定。没有人可以为您回答。如果您只需要确定该事件至少有一个动作,则只需确定actions.count一个或多个动作即可。

如果您需要确保它具有动作,并且需要确保该动作具有特定名称,那么您所需要的代码就是您所需要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何检查UIButton标签是否设置

来自分类Dev

如何检查是否已添加目标?

来自分类Dev

如何检查是否有评论

来自分类Dev

如何检查是否有碰撞?

来自分类Dev

如何检查WPF中是否未击中目标

来自分类Dev

如何检查符号链接目标是否匹配特定路径?

来自分类Dev

如何检查时间是否是昼/夜目标C

来自分类Dev

如何检查文件是否存在使用快速,从目标c重写

来自分类Dev

如何检查目标代码是否为16/32位?

来自分类Dev

如何检查时间是否是昼/夜目标C

来自分类Dev

如何检查LLVM StoreInst的目标是否是函数指针

来自分类Dev

如何在目标C中检查UIView是否为零

来自分类Dev

如何检查我的 NPC 是否看到目标的背面?

来自分类Dev

如何检查QImage是否有效?

来自分类Dev

如何检查模型是否有Carrierwave的照片?

来自分类Dev

如何检查grep是否没有输出?

来自分类Dev

如何检查日期是否有效?

来自分类Dev

如何检查是否有多个 

来自分类Dev

如何检查len是否有效

来自分类Dev

如何检查镜头前是否有物体?

来自分类Dev

如何检查细胞是否有东西

来自分类Dev

如何检查MPI中是否有消息?

来自分类Dev

如何检查wordNet中是否有单词

来自分类Dev

如何检查QueryString是否没有参数

来自分类Dev

我如何检查是否有可变的laravel?

来自分类Dev

如何检查Clojure中是否有原子?

来自分类Dev

如何检查数字是否有余数?

来自分类Dev

如何检查CLOB是否有序言

来自分类Dev

如何检查len是否有效