Ios transitionCoordinator nil内部单元测试
我创建了一个自定义pushViewController方法,在转换完成后使用回调。它可以在应用程序上运行,但无法在单元测试上运行。这是UINavigationController扩展: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
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扩展,而不是应用程序行为本身。同意。我也想这么做,但没找到办法