2017-09-16 6 views
0

カスタムセルとテストアウトレットのみを初期化してロードできますか?ユニットテストカスタムUITableViewCell?

私のViewControllerには、があり、これは(カスタムデータソースのサブクラスである)dataSourceです。ですから、これらのすべてを使ってセルを作成するのはちょっと難しいことです。

カスタムセルには、オブジェクトからオブジェクトを更新するためのラベルと設定メソッドが2つしかないので、ロードするとテストが容易になります。

答えて

0

これに対して単位テストを実行することは、面倒なことではありません。しかし、この問題に対するより簡単なアプローチがあります。

セルをサポートするビューモデルを作成し、ビューモデルが各アイテムに正しい値を提供しているかどうかをテストできます。

2つのラベルを移入ビューモデルと画像の簡単な例はここにある:このモデルを使用して

class MyCellModel { 
    var stringOne: String? { 
     return "Compute string 1" 
    } 

    var stringTwo: String? { 
     return "Compute string 2" 
    } 

    var image: UIImage? { 
     return UIImage(named: "myimage") 
    } 
} 

は、あなたが関連する計算されたプロパティにそれらの値を生成するためのロジックを配置します。テストのために、このモデルをテストしたい値で初期化することができます。

+0

素晴らしいアイデア。一方、もう少し作業が必要です。 – elektricni