1
このユニットテストはどのようにしてhitTest
オーバーライドできますか?iPhoneでこのhitTestオーバーライドをユニットテストするにはどうすればよいですか?
- (UIView*) hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView* hitView = [super hitTest:point withEvent:event];
// Do something based on hitView's properties
}
私が直面してる問題はUIEvent
は、publicコンストラクタを持っていないということですので、私は[super hitTest:point withEvent:event]
に異なる結果を生成するためにUIEvent
を作成することはできません。
また、UIEvent
の模擬画像を作成することもできますが、これは、[super hitTest:point withEvent:event]
が何をしているかを知っていることを暗示しています。
もう1つの選択肢は[super hitTest:point withEvent:event]
(OCMock)ですが、スーパーマルードの実装だけではわかりません。
1を、これは動作しますが、それが作るメソッドを作成するために私を強制的にコードは少し混乱します。私はコードを明確にする限り、テスト目的のコードを追加することに反対していません(幸いなことに、通常はそうです)。 – hpique