测试目标 - 动作接线

时间:2009-10-13 17:39:07

标签: iphone objective-c tdd

我遇到了解释该主题的以下blog post。但是我对给定的样品确实有麻烦。

它验证目标动作绑定如下:

STAssertEquals([doSomethingButton action], @selector(doSomething:),
  @"The button should send -doSomething: to its target.");

STAssertEquals([doSomethingButton target], _windowController,
  @"The button should send its action to the window controller.");

只要doSomethingButton是UIBarButton,这就有效。 UISwitch或UIButton没有目标或操作属性。我尝试了以下命令来确定其目标 - 动作布线:

GHAssertNotNil([[controller logSwitch] actionsForTarget:controller forControlEvent:UIControlEventValueChanged], nil);

然而,即使我已经确认在模拟器中正确调用了该动作,它也会失败。在UIControl的目标动作布线上断言的正确方法是什么?

更新:

UIControl - (NSSet *)allTargets
即使调试应用程序并在 调用 操作中执行它,

似乎也没有返回任何内容!

1 个答案:

答案 0 :(得分:2)

这似乎是UIKit框架中的一个错误。我已经向Apple提交了一份错误报告。