UIViewController dosyalarını unit test yazarken test targeti ile normal targetiniz arasında bir karmaşa yaşanabiliyor, burada ilk bakılması gereken şey, doğru target @testable import TARGETADI yani modulu import etmeniz gerekiyor. Eğer bundan kaynaklı değilse ve aşağıdaki gibi storyboardı çağırıyorsanız burada bir yanlış yapıyorsunuz demektir.
swiftfunc view<T: UIViewController>(controllerClass: T.Type) -> T {let storyboardID = (controllerClass as UIViewController.Type).storyboardIDlet scene = UIStoryboard(name: self.rawValue, bundle: Bundle.main).instantiateViewController(withIdentifier: storyboardID) as! Treturn scene}
aşağıdaki gibi Bundle'ı oluştururken classınızla birlikte çağırmanız gerekiyor.
swiftfunc view<T: UIViewController>(controllerClass: T.Type) -> T {let storyboardID = (controllerClass as UIViewController.Type).storyboardIDlet scene = UIStoryboard(name: self.rawValue, bundle: Bundle(for: controllerClass)).instantiateViewController(withIdentifier: storyboardID) as! Treturn scene}
yani bundle'a nil veya Bundle.main olarak değil Bundle constructor parametresine class type'ını iletmeniz gerekmektedir.