[英]Swift - Dependency injection in unit test
这是我第一次快速使用依赖项注入,这就是我的方法,我有一个在appDelegate中初始化的dataManager,然后传递给我的第一个视图控制器,然后每当它们被推到其他视图控制器时,它将传递给其他视图控制器屏幕:
if let navigationCtrl = window?.rootViewController as? UINavigationController {
if let firstViewController = navigationCtrl.topViewController as? FirstViewController {
firstViewController.dataManager = dataManager
}
}
现在,一切正常,但是当我测试每个视图控制器时,我总是使dataManger为零,并且我知道这是因为我首先给出的条件。 因此,有没有办法确保topViewController始终具有dataManager变量而不继承自另一个ViewController。谢谢
其中之一正在发生:
window
nil
window?.rootViewController
不是UINavigationController
navigationCtrl.topViewController
不是FirstViewController
firstViewController.dataManager
为nil
它应该是一个简单的调试。 放置一些断点和/或print
语句以了解问题出在哪里。
提示):
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.