Wie schreibt man einen Testfall für dieses "Erfolg" -Szenario?Wie überschreibt TableView Delegate in XCTest
if ([tblView.delegate respondsToSelector:@selector(tableView:viewForHeaderInSection:)]) {
...
}else{
...
}
Ich habe versucht, durch den unten Mock Delegaten in schnellen Erstellung:
class MockTableViewDelegate:NSObject, UITableViewDelegate {
@objc func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 30
}
// MARK: Delegates
@objc func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return UIView()
}
}
Code:
mockTableView.delegate=MockTableViewDelegate()
print("delegate===\(mockTableView.delegate)")
Er druckt gleich Null. Dasselbe Modell, das ich für die Datenquelle ausprobiert habe und es gibt die Datenquelle obj zurück. Warum delegiere Nil zurück? und wie man dieses Szenario testet?
Ist 'tblView.delegate' nicht null in der if? Wenn nicht-null, ist der Typ 'MockTableViewDelegate'? –
nein es ist nur nil. –
ist die Delivery-Eigenschaft des TblView über Storyboard oder Code? Die Zeit und der Kontext spielen eine wichtige Rolle in den Eigenschaften von Delegaten und Datenquellen. An welchem Punkt wird der Testfall ausgeführt? – satheeshwaran