2017-09-16 9 views
0

Können nur benutzerdefinierte Zellen und Teststeckdosen initiert und geladen werden?Komponententest benutzerdefiniert UITableViewCell?

Meine ViewController hat TableView mit getrennten dataSource (die Unterklasse der benutzerdefinierten Datenquelle ist). Es ist also ziemlich schwierig, mit all diesen Zellen Zellen zu erstellen.

Benutzerdefinierte Zelle hat nur ein paar Etiketten und Config-Methode für die Aktualisierung von Objekt, so wenn getestet, wäre einfach zu testen.

Antwort

0

Performing Unit Tests dagegen ist nicht wirklich die Mühe wert. Es gibt jedoch einen einfacheren Ansatz für dieses Problem.

Sie können ein Ansichtsmodell erstellen, um Ihre Zelle zu unterstützen, und dann testen, ob das Ansichtsmodell die korrekten Werte für jedes Element bereitstellt.

Ein einfaches Beispiel einer Ansicht Modell, das zwei Etikett und ein Bild auffüllt ist hier:

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

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

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

dieses Modell verwenden, können Sie die Logik zur Erzeugung dieser Werte in den entsprechenden berechneten Eigenschaften legen würden. Dann können Sie dieses Modell zu Testzwecken mit den Werten initialisieren, die Sie testen möchten.

+0

Großartige Idee. Auf der anderen Seite erfordert es ein bisschen mehr Arbeit. – elektricni

Verwandte Themen