ios - 单元测试 - 来自 viewcontroller 的调用导航为零

标签 ios swift unit-testing

当我从 View Controller 调用导航 Controller 时,导航 Controller 变为零。 如何访问导航 Controller ?

override func setUp() {
    self.viewController = storyboard.instantiateViewControllerWithIdentifier("FirstViewController") as! FirstViewController
    self.viewController.loadView()
    XCTAssertNotNil(self.viewController.navigationController,"Navigation is nil")
}

最佳答案

要测试 navigationController,您需要将它添加到 View Controller 数组中。

func testViewControllerShouldHaveNavigationController() {
    let viewController = UIViewController()
    let navigation = UINavigationController()
    navigation.viewControllers = [viewController]
    XCTAssertNotNil(viewController.navigationController)
}

关于ios - 单元测试 - 来自 viewcontroller 的调用导航为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33666536/

相关文章:

ios - 如何从照片中获取 GPS 数据

ios - 使其布局无效时与 UICollectionView 单元格选择相关的问题

ios - 通过上传 zip 文件使用 iTunes Connect 将 iOS 应用程序提交到应用程序商店仍然有效吗?

c# - 如何模拟 Url.Action

iOS - UITableViewCell 在被选中后不显示复选标记

swift - 子对象可以在父对象的 deinit 期间引用其父对象吗?

ios - UITapGestureRecognizer 不适用于特定的 [UIView] 数组

swift - 如何修复 swift 3 嵌套的一般错误

unit-testing - 我应该测试私有(private)方法还是只测试公共(public)方法?

unit-testing - 如何从 HttpResponseMessage 转换/转换匿名类型以进行单元测试?