Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios transitionCoordinator nil内部单元测试_Ios_Unit Testing_Uinavigationcontroller_Tdd - Fatal编程技术网

Ios transitionCoordinator nil内部单元测试

Ios transitionCoordinator nil内部单元测试,ios,unit-testing,uinavigationcontroller,tdd,Ios,Unit Testing,Uinavigationcontroller,Tdd,我创建了一个自定义pushViewController方法,在转换完成后使用回调。它可以在应用程序上运行,但无法在单元测试上运行。这是UINavigationController扩展: extension UINavigationController { public func pushViewController(_ viewController: UIViewController, animated: Bool, completion: @escaping (Void) -> Vo

我创建了一个自定义pushViewController方法,在转换完成后使用回调。它可以在应用程序上运行,但无法在单元测试上运行。这是UINavigationController扩展:

extension UINavigationController {
  public func pushViewController(_ viewController: UIViewController, animated: Bool, completion: @escaping (Void) -> Void) {
    pushViewController(viewController, animated: animated)
    guard animated, let coordinator = transitionCoordinator else {
      completion()
      return
    }

    coordinator.animate(alongsideTransition: nil) { _ in completion() }

  }
}
当我在单元测试中调用它时,
transitionCoordinator
总是为零。我尝试设置一个窗口,将导航设置为根控制器,并使该窗口键可见。我也尝试过访问视图属性,所以vc被加载了,但似乎什么都不起作用<代码>传递协调员属性始终为零


有什么想法吗?这是单元测试的预期行为吗?

您找到答案了吗?我也一样issue@sliwinski.lukas我不记得了,但现在我认为单元测试应用程序导航不是一个好主意,我们为此进行了UI测试。同意,但我想单元测试我编写的UINavigationController扩展,而不是应用程序行为本身。同意。我也想这么做,但没找到办法