Skip to content

Instantly share code, notes, and snippets.

@Serchinastico
Created September 15, 2017 08:29
Show Gist options
  • Save Serchinastico/80c902c472acae126db36a68cb528152 to your computer and use it in GitHub Desktop.
Save Serchinastico/80c902c472acae126db36a68cb528152 to your computer and use it in GitHub Desktop.
Doing dependency injection for our tests
class SuperHeroDetailViewControllerTests: XCTestCase {
private let repository = MockSuperHeroesRepository()
/* ... */
private func openSuperHeroDetailViewController(_ superHeroName: String) -> UIViewController {
let superHeroDetailViewController = ServiceLocator()
.provideSuperHeroDetailViewController(superHeroName) as! SuperHeroDetailViewController
superHeroDetailViewController.presenter = SuperHeroDetailPresenter(ui: superHeroDetailViewController,
superHeroName: superHeroName,
getSuperHeroByName: GetSuperHeroByName(repository: repository))
let rootViewController = UINavigationController()
rootViewController.viewControllers = [superHeroDetailViewController]
return rootViewController
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment