tableView:cellForRowAtIndexPath:
ビュー コントローラーでデリゲート メソッドの単体テストを書いているとします。このメソッドは、渡すインデックス パスに応じて、いくつかの異なる構成のセルを返す可能性があります。
プロパティで簡単にアサートできcell.textLabel.text
ます。cell.imageView.image
しかし、プロパティに正しい画像が含まれていると断言するにはどうすればよいでしょうか? 画像にも imageView にも、画像名またはファイル名を見つけるために使用できる (パブリック API) プロパティはありません。
私が思いついた最善の方法は、可能な限り最小の有効な.png[UIImage imageWithData:]
を作成し(ユニットテストでディスクに触れないように使用します)、取得したバイト配列cell.imageView.image
が期待どおりであることをアサートすることです。これを少し改善するためにOCHamcrest マッチャーを作成しましたが、これは不十分で柔軟性のないアプローチです。
誰かがより良いアイデアを持っていますか?