Ich versuche, einen Komponententest zu schreiben, dass ein View-Controller angezeigt wird, sobald eine Zeile ausgewählt ist. Die Zelldeklaration funktioniert nicht, weil Sie didSelectRow aus irgendeinem Grund nicht in der Tabellenansicht aufrufen können. Außerdem bekomme ich einen Fehler, dass presentedVC ist gleich Null:Wie kann ich testen, dass ein View-Controller vorgestellt wurde?
func testDidSelectNewsReportCalledWhenNewsReportSelected() {
var cell = tableView.didSelectRow(at: IndexPath(row: 0, section: 3), animated: false) //This line doesn't work
let presentedVC = controller.presentedViewController?.view
let newsReportVC = UIStoryboard(name:"News", bundle: Bundle.init(for: NewsViewController.self)).instantiateViewController(withIdentifier: "NewsReport") as! NewsReportViewController
XCTAssertEqual(newsReportVC, presentedVC)
}
Dank.
Legen Sie die TabelleView.delegate = self, und überprüfen Sie diesen Thread, wie Sie didSelectRow implementieren, Sie tun es falsch. http://stackoverflow.com/questions/26740538/swift-uitableview-didselectrowatindexpath-iddeselectrotindexpath-add-re –