Closed ahmadmssm closed 2 years ago
You have something else going on. Multiple protocols with implements is a standard test case.
func testMultipeProtocolsWithImplements() {
resolver.register { XYZCombinedService() }
.implements(XYZFetching.self)
.implements(XYZUpdating.self)
let service: XYZCombinedService? = resolver.optional()
XCTAssertNotNil(service)
XCTAssert(service?.name == "XYZCombinedService")
let fetcher: XYZFetching? = resolver.optional()
XCTAssertNotNil(fetcher)
XCTAssert(fetcher?.name == "XYZCombinedService")
let updater: XYZUpdating? = resolver.optional()
XCTAssertNotNil(updater)
XCTAssert(updater?.name == "XYZCombinedService")
}
I'm getting this error when I try to resolve an object that conforms to multiple protocols.
Here is how I'm trying to resolve it:
let navigator: OnboardingNavigatorProtocol = Resolver.resolve()
And here is how I provide the dependency:But if I did this, It will work
let navigator: OnboardingNavigatorProtocol = Resolver.resolve(OnboardingNavigator.self)
Even if I removed.implements(OnboardingNavigatorProtocol.self)